JDBC工作原理
JDBC 为多种关系数据库提供了统一访问方式,作为特定厂商数据库访问API的一种高级抽象,它主要包含一些通用的接口类。
JDBC访问数据库层次结构:
JDBC的优势:
1、java语言访问数据库操作完全面向抽象接口编程;
2、开发数据库应用不用限定在特定数据库厂商的API;
3、程序的可移植性大大增强。
JDBC使用
JDBC开发案例
1、准备数据库驱动包,并添加到项目的依赖中:
在项目中创建文件夹lib,并将依赖包 mysql-connector-java-5.1.47.jar
复制到lib中。
2、 再配置该jar包到本项目的依赖中:右键点击项目Open Module Settings,Modules中,点击项目,配置Dependencies,点击+,JARS or Directories,将该lib文件夹配置进依赖中,表示该文件夹下的jar包都引入作为依赖。
3、建立数据库连接
//加载JDBC驱动程序:反射,这样调用初始化com.mysal.jdbc.Driver类,即将该类加载到JVM方法区,并执行该类的静态方法快、静态属性。
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
Connection connection = DriverManager,getConnection("jdbc:mysql://localhost:3306/test?
user=root&password=root&useUnicode=true&characterEncoding=UTF-8");
//MySQL数据库连接的URL参数格式如下:
jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值
4、创建操作命令(Statement)
Statement statement = connection.createStatement();
5、执行SQL语句
ResultSet resultSet = statement.executeQuery("select id, sn, name, qq_mail, classes_id from student");
6、处理结果集
while (resultSet.next()) {
int id = resultSet.getInt("id");
String sn = resultSet.getString("sn");
String name = resultSet.getString("name");
int classesId = resultSet.getInt("classes_id");
System.out.println(String.format("Student: id=%d, sn=%s, name=%s, classesId=%s", id, sn, name, classesId));
}
7、释放资源(关闭结果集,命令和连接)
//关闭结果集
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//关闭命令
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//关闭连接命令
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
JDBC使用步骤总结
1、创建数据库连接Connection
2、创建操作命令Statement
3、使用操作命令来执行SQL
4、处理结果集ResultSet
5、释放资源