在Java中,连接数据库通常通过JDBC(Java Database Connectivity)或者一些ORM(Object-Relational Mapping)框架,如Hibernate、MyBatis等。以下是使用JDBC连接数据库的基本步骤:

  1. 加载并注册JDBC驱动

使用Class.forName()方法加载并注册数据库驱动。这步操作只需要执行一次。

Class.forName("com.mysql.cj.jdbc.Driver"); // 以MySQL为例

注意:从JDBC 4.0开始,驱动类的显式加载通常是可选的,因为JDBC驱动可以通过Java的ServiceLoader机制自动加载。但是,某些数据库或JDBC驱动可能仍然需要显式加载

2. 建立数据库连接

使用DriverManager.getConnection()方法建立到数据库的连接。这个方法需要数据库URL、用户名和密码作为参数。

String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "myuser"; String password = "mypassword"; Connection connection = DriverManager.getConnection(url, username, password);

  1. 创建Statement或PreparedStatement

使用Connection对象的createStatement()prepareStatement()方法创建StatementPreparedStatement对象,用于执行SQL语句。

Statement statement = connection.createStatement(); // 或者 String sql = "SELECT * FROM mytable WHERE id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, 123); // 设置SQL语句中的参数

  1. 执行SQL语句并处理结果

使用StatementPreparedStatement对象的executeQuery()executeUpdate()等方法执行SQL语句,并处理返回的结果。

ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable"); while (resultSet.next()) { // 处理结果集... } // 或者对于PreparedStatement int rowsAffected = preparedStatement.executeUpdate(); // 对于更新、插入或删除操作

  1. 关闭资源

在完成数据库操作后,务必关闭ResultSetStatementPreparedStatementConnection对象,以释放数据库资源。

resultSet.close(); statement.close(); // 或 preparedStatement.close(); connection.close();

注意:在实际应用中,建议使用try-with-resources语句来自动关闭这些资源,以避免资源泄露。

try (Connection connection = DriverManager.getConnection(url, username, password); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable")) { // 处理结果集... } catch (SQLException e) { // 处理异常... }