Java数据库连接(JDBC)是Java语言中用于访问数据库的一种标准API。通过JDBC,Java程序可以连接到各种关系型数据库,如MySQL、Oracle、SQL Server等,并执行SQL语句。本文将详细介绍JDBC的核心类与接口,并从入门到实践应用进行讲解。
一、JDBC简介
JDBC(Java Database Connectivity)是Java提供的一套用于数据库操作的API。它允许Java程序通过JDBC驱动程序与数据库进行通信。JDBC的核心思想是将数据库访问抽象化,使得开发者可以使用统一的方式操作不同的数据库。
二、JDBC核心类与接口
1. DriverManager
DriverManager是JDBC的管理层,负责管理JDBC驱动程序。其主要作用是注册JDBC驱动程序,并提供连接数据库的方法。
public class DriverManager {
// 注册JDBC驱动程序
public static void registerDriver(java.sql.Driver driver) throws SQLException;
// 获取数据库连接
public static Connection getConnection(String url, String user, String password) throws SQLException;
}
2. Connection
Connection代表与数据库的连接。通过Connection对象,可以执行SQL语句,并管理事务。
public interface Connection {
// 执行查询
Statement createStatement() throws SQLException;
// 执行预编译语句
PreparedStatement prepareStatement(String sql) throws SQLException;
// 开始事务
void setAutoCommit(boolean autoCommit) throws SQLException;
// 提交事务
void commit() throws SQLException;
// 回滚事务
void rollback() throws SQLException;
}
3. Statement
Statement用于执行静态SQL语句。通过Statement对象,可以执行查询、更新、删除等操作。
public interface Statement {
// 执行查询
ResultSet executeQuery(String sql) throws SQLException;
// 执行更新
int executeUpdate(String sql) throws SQLException;
// 执行删除
int executeDelete(String sql) throws SQLException;
}
4. PreparedStatement
PreparedStatement用于执行带参数的SQL语句。它预编译SQL语句,提高数据库访问效率。
public interface PreparedStatement {
// 设置参数
void setXXX(int parameterIndex, XXX value) throws SQLException;
// 执行查询
ResultSet executeQuery() throws SQLException;
// 执行更新
int executeUpdate() throws SQLException;
}
5. ResultSet
ResultSet用于存储和检索数据库查询的结果。通过ResultSet对象,可以遍历查询结果,并获取数据。
public interface ResultSet {
// 获取当前行的XXX值
XXX getX(int columnIndex) throws SQLException;
// 获取当前行的XXX列名对应的值
XXX getXXX(String columnName) throws SQLException;
// 移动到下一行
boolean next() throws SQLException;
}
三、JDBC实践应用
1. 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
2. 执行查询
String sql = "SELECT * FROM user";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println("用户名:" + rs.getString("username") + ",密码:" + rs.getString("password"));
}
3. 执行更新
String sql = "UPDATE user SET password = 'newpassword' WHERE username = 'root'";
int result = stmt.executeUpdate(sql);
if (result > 0) {
System.out.println("更新成功");
} else {
System.out.println("更新失败");
}
4. 关闭连接
rs.close();
stmt.close();
conn.close();
四、总结
本文详细介绍了Java数据库连接(JDBC)的核心类与接口,并从入门到实践应用进行了讲解。通过学习本文,读者可以掌握JDBC的基本用法,并能够将其应用于实际项目中。希望本文对您有所帮助!
