📅  最后修改于: 2023-12-03 14:57:36.531000             🧑  作者: Mango
JDBC(Java Database Connectivity)即Java数据库连接,是 Java 标准中的 API。它提供了一个标准的 API,用于连接和操作数据库。
JDBC 架构由两个层次组成:
JDBC API 层次结构如下:
java.sql
├── Connection
├── Statement
├── ResultSet
├── PreparedStatement
└── CallableStatement
使用 JDBC 连接数据库的步骤如下:
示例代码:
import java.sql.*;
public class Demo {
public static void main(String[] args) {
try {
// 注册 JDBC 驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 创建连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建 SQL 语句对象
Statement stmt = conn.createStatement();
// 执行 SQL 语句
ResultSet rs = stmt.executeQuery("SELECT * FROM user");
// 处理结果
while (rs.next()) {
System.out.println(rs.getString("username"));
}
// 关闭资源
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
JDBC 连接池用于管理数据库连接,它可以避免频繁地创建和销毁连接对象,提高数据库的访问效率。
连接池一般包含以下几个方面:
常用的连接池有 Apache Commons DBCP 和 HikariCP。
JDBC 批处理可以将多个 SQL 语句一次性发送给数据库执行,从而提高效率。
示例代码:
import java.sql.*;
public class Demo {
public static void main(String[] args) {
try {
// 注册 JDBC 驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 创建连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
// 创建 SQL 语句对象
Statement stmt = conn.createStatement();
// 添加 SQL 语句
stmt.addBatch("INSERT INTO user (username, password) VALUES ('admin1', '123456')");
stmt.addBatch("INSERT INTO user (username, password) VALUES ('admin2', '123456')");
stmt.addBatch("INSERT INTO user (username, password) VALUES ('admin3', '123456')");
// 执行批处理
int[] results = stmt.executeBatch();
// 关闭资源
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
JDBC 是 Java 数据库连接的标准 API,可以方便地实现 Java 和数据库的交互。在使用 JDBC 时,需要注意关闭连接和释放资源,同时也可以通过连接池和批处理等手段提高数据库的访问效率。