JDBC初探

JDBC,全称Java数据库连接(Java Database Connectivity),是一套用于执行SQL语句的Java API,提供了诸如查询和更新数据库中数据的方法。应用程序可通过此套API连接到数据库,而不必关系数据库是由什么特定程序构建的。

常用API介绍

接口Driver: 所有JDBC驱动必须实现的接口,对应用程序透明。
类DriverManager:
应用程序与数据库连接的发令枪,负责加载JDBC驱动并创建与数据库的连接。
接口/对象Connection:
应用程序与数据库连接的桥梁,代表程序与数据库的连接。
接口/对象Statement:
应用程序向数据库发出请求的接口,能向数据库传递(执行)静态的SQL语句,并返回一个结果(对象)。接口PreparedStatement传递预编译的SQL语句。
接口ResultSet:
应用程序获取SQL语句执行结果的接口,负责保存JDBC执行查询时返回的结果集。

示例代码

在数据访问对象源代码文件中,进行如下操作:
已知开发机使用了mariadb数据库,账号密码均如代码中所示。
需要在Tomcat项目的WebContent/WEB-INF/lib文件夹下导入数据库驱动包。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//1、加载并注册数据库驱动。
Class.forName("org.mariadb.jdbc.Driver");
//2、通过DriverManager类建立数据库连接,通过Connection接口获取数据库连接
Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3306/test", "root", "root");
//3、使用数据库连接产生能发出SQL请求的接口
Statement statement = connection.createStatement();
//4、使用statement执行SQL语句,并将结果返回至结果集rs
ResultSet rs = statement.executeQuery("select * from publisher");
//5、操作结果集rs
//准备list储存结果集中的内容
List<Publisher> publishers = new ArrayList<>();
//游标开始从结果集的头部移动,如果当前行有效,括号表达式返回true,接着循环
while(rs.next()) {
//每次循环创建一个实体,存储从结果集中读取的信息
}
//6、关闭连接、释放资源。后创建、使用的资源先关闭、释放。
rs.close();
statement.close();
connection.close();