1. JDBC概述
1.1 JDBC概念
JDBC(Java DataBase Connectivity)是使用Java语言操作关系型数据库的一套API。它提供了一种标准方法来连接和操作各种关系型数据库,使得Java程序能够与不同的数据库进行交互。
1.2 JDBC本质
JDBC的本质是:
- 官方(Sun公司)定义的一套操作所有关系型数据库的规则(接口)
- 各个数据库厂商实现这套接口,提供数据库驱动jar包
- 我们使用这套接口编程,实际执行的是驱动jar包中的实现类
1.3 JDBC好处
- 各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发
- 可随时替换底层数据库,访问数据库的Java代码基本不变
2. JDBC快速入门
2.1 编写代码步骤
- 创建工程,导入驱动jar包
- 注册驱动:
Class.forName("com.mysql.jdbc.Driver");
- 获取连接:
Connection conn = DriverManager.getConnection(url, username, password);
- 定义SQL语句
- 获取执行SQL对象:
Statement stmt = conn.createStatement();
- 执行SQL
- 处理返回结果
- 释放资源
2.2 具体操作
public class JDBCDemo {
public static void main(String[] args) throws Exception {
// 1. 注册驱动(MySQL 5+可省略)
// Class.forName("com.mysql.jdbc.Driver");
// 2. 获取连接
String url = "jdbc:mysql://127.0.0.1:3306/db1?useSSL=false";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url, username, password);
// 3. 定义SQL
String sql = "update account set money = 2000 where id = 1";
// 4. 获取Statement对象
Statement stmt = conn.createStatement();
// 5. 执行SQL
int count = stmt.executeUpdate(sql); // 受影响的行数
// 6. 处理结果
System.out.println(count);
// 7. 释放资源
stmt.close();
conn.close();
}
}
3. JDBC API详解
3.1 DriverManager
作用:
- 注册驱动
- 获取数据库连接
// 注册驱动(MySQL 5+可省略)
Class.forName("com.mysql.jdbc.Driver");
// 获取连接
String url = "jdbc:mysql:///db1?useSSL=false";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url, username, password);
3.2 Connection
作用:
- 获取执行SQL的对象
- 管理事务
事务管理示例:
try {
// 开启事务
conn.setAutoCommit(false