在 Java Web 开发中,与数据库进行交互是非常常见的需求。例如,一个电商网站需要从数据库中获取商品信息展示给用户,或者将用户的订单信息存储到数据库中。而 JDBC(Java Database Connectivity)就是 Java 提供的一套用于与各种数据库进行交互的标准 API,它就像是一座桥梁,连接着 Java 程序和数据库。
JDBC 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用 Java 语言编写的类和接口组成,使得 Java 开发人员可以使用统一的方式来访问不同的数据库,如 MySQL、Oracle、SQL Server 等。
要使用 JDBC 连接数据库并进行操作,一般需要以下几个步骤:
Class.forName()
方法加载数据库驱动类。DriverManager.getConnection()
方法获取数据库连接对象。Connection
对象创建 Statement
或 PreparedStatement
对象。Statement
或 PreparedStatement
对象执行 SQL 语句。ResultSet
、Statement
和 Connection
对象,释放资源。以下是一个使用 JDBC 连接 MySQL 数据库并查询数据的示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcExample {
public static void main(String[] args) {
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/testdb";
String username = "root";
String password = "password";
try {
// 1. 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 建立数据库连接
Connection connection = DriverManager.getConnection(url, username, password);
// 3. 创建执行 SQL 语句的对象
Statement statement = connection.createStatement();
// 4. 执行 SQL 语句
String sql = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);
// 5. 处理结果集
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String email = resultSet.getString("email");
System.out.println("ID: " + id + ", Name: " + name + ", Email: " + email);
}
// 6. 关闭资源
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Class.forName("com.mysql.cj.jdbc.Driver")
加载 MySQL 数据库驱动类。DriverManager.getConnection(url, username, password)
根据数据库连接信息获取 Connection
对象。connection.createStatement()
创建 Statement
对象,用于执行 SQL 语句。statement.executeQuery(sql)
执行查询语句,并返回 ResultSet
对象。resultSet.next()
遍历结果集,使用 resultSet.getInt()
和 resultSet.getString()
方法获取相应列的值。ResultSet
、Statement
和 Connection
对象,释放资源。步骤 | 操作 | 代码示例 |
---|---|---|
1 | 加载数据库驱动 | Class.forName("com.mysql.cj.jdbc.Driver"); |
2 | 建立数据库连接 | Connection connection = DriverManager.getConnection(url, username, password); |
3 | 创建执行 SQL 语句的对象 | Statement statement = connection.createStatement(); |
4 | 执行 SQL 语句 | ResultSet resultSet = statement.executeQuery(sql); |
5 | 处理结果集 | while (resultSet.next()) {... } |
6 | 关闭资源 | resultSet.close(); statement.close(); connection.close(); |
通过以上步骤和示例代码,你可以使用 JDBC 连接数据库并进行基本的查询操作。在实际开发中,还可以使用 PreparedStatement
来防止 SQL 注入,使用 CallableStatement
来调用存储过程等。JDBC 为 Java 开发人员提供了强大而灵活的数据库访问能力。