JDBC
JDBC的概述
a) Java DataBase Connectivity(Java连接数据库技术),是sun公司提供一套专门用于访问操作关系型数据的API程序, 位于 java.sql.* javax.sql.* 包
b) 对于不同的数据库,各大厂商提供不同的数据库连接驱动(JDBC驱动类),此类由数据库厂商提供。
JDBC的连接:
jdbc的连接基本可以细分为六步:
步骤1: 导入jar包
步骤2: 加载驱动类
Class.forName(“驱动类全类名”)
步骤3 :通过DriverManager获取连接对象,此时需要指定数据库url , 用户名 , 密码
步骤4:获取sql执行器 Statement或预编译preparedStatement
步骤5 执行sql语句,并返回结果
步骤6 关闭数据库连接
JDBC中用到的核心API:
· DriverManager 类 : 用于管理驱动类,从而可以获取连接对象
· Connection 接口: 表示某个数据库的连接对象,如果要访问数据,必须获取该对象
· Statement 接口: SQL执行器对象 ,可以执行sql语句(insert ,update ,delete,select。。。)
· PreparedStatement 接口:预编译的sql执行器, 属于Statement的子接口 ,用于参数化执行sql语句
· ResultSet 接口: 结果集对象,用户查询返回的结果封装 ,是一个集合
核心代码:
public class DBUtil {
public static final String URL="jdbc:mysql://localhost或者IP地址:3306/数据库名?useUnicode=true&characterEncoding=UTF-8";//后面为将编码格式改为UTF-8,可以在你自己未设置UTF-8时起作用,如果设置了后面也不会影响数据库连接
public static final String USER="root";
public static final String PASSWORD="123456";
public static final String Driver ="com.mysql.jdbc.Driver";
// 由于加载驱动类 只需要加载一次
static{
try {
Class.forName(Driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 获取连接对象
* @return
*/
public static Connection getConn(){
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 关闭数据库连接对象
* @param conn
* @param st
* @param rs
*/
public static void closeAll(Connection conn ,Statement st ,ResultSet rs){
try {
if(rs!=null){
rs.close();
}
if(st!=null){
st.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}