JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
如果要使用数据库就要添加数据库的驱动,不同的数据库有不同的驱动,本次使用的数据库为mysql。
1、添加jar程序驱动包
找到mysql链接方式,官方地址http://dev.mysql.com/downloads/connector/j/ 通过build path 将jar包引入到项目中。
2、编写代码,java连接mysql的方式抽出来单独写打开和关闭数据库操作的类。
DBHepler.java
package learnjava;
import java.sql.*;
import java.util.*;
public class DBHelper {
//MySQL的JDBC URL编写方式:jdbc:mysql://主机名称:链接端口/数据库名称?参数=值
//避免中文乱码要指定useUnicode和characterEncoding
//执行数据库操作之前要在数据库管理系统上存在该数据库
public static final String url ="jdbc:mysql://10.104.20.126:3306/ucar_crm?useUnicode=true&characterEncoding=UTF8";
public static final String name ="com.mysql.jdbc.Driver";
public static final String user ="xnuser";
public static final String password ="Xn20!@n0oLk";
public Connection conn = null;
public PreparedStatement pst = null;
public DBHelper(String sql)
{
try{
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来,下面三种形式都可以
Class.forName(name); //动态加载mysql驱动
// or:
//com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
// or:
//new com.mysql.jdbc.Driver();
// 一个Connection代表一个数据库连接
conn = DriverManager.getConnection(url,user,password);
pst = conn.prepareStatement(sql);
}catch(Exception e){
e.printStackTrace();
}
}
public void close()
{
try{
this.conn.close();
this.pst.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
3、编写对数据库进行操作的代码
Demo.java
package learnjava;
import java.sql.*;
public class Demo {
static String sql = null;
static DBHelper db1 = null;
static ResultSet ret= null;
public static void main(String[] args) {
// TODO Auto-generated method stub
sql = "select * from t_scd_member where `name` like 'xn02_%' LIMIT 1 ";
db1 = new DBHelper(sql);
System.out.println(" uid"+" "+" name"+" "+"mobile");
try{
ret =db1.pst.executeQuery();
while(ret.next()){
String uid = ret.getString(1);//字段值角标从1开始
String name = ret.getString(2);
String mobile= ret.getString(3);
System.out.println(uid+" "+name+" "+mobile);
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
【程序结果如图】