欢迎访问宙启技术站
智能推送

Java函数创建和操纵数据库连接

发布时间:2023-06-15 02:34:25

Java程序可以通过 JDBC API 来创建和操纵数据库连接, JDBC (Java Database Connectivity) 它是 Java 语言访问关系型数据库的应用程序接口。 JDBC API 使Java程序能够通过标准SQL语句来访问数据库。这篇文章将会探讨如何创建和操纵数据库连接。

创建数据库连接

Java程序使用 JDBC API 来连接数据库,首先需要导入 java.sql 包和相应的数据库驱动程序包。例如连接 MySQL 数据库,则需要下载并导入 MySQL 数据库的 JDBC 驱动程序再进行连接。

接下来,我们需要创建一个 Connection 对象,它代表了与数据库的一个连接。可以通过 DriverManager 类的静态方法 getConnection() 来获取数据库连接,方法签名如下:

public static Connection getConnection(String url, String username, String password) throws SQLException

参数 url 是 JDBC 驱动程序与数据库的连接字符串,它可以包含数据库的名称、主机名、端口号等信息。用户名和密码用于身份验证。下面是一个连接 MySQL 数据库的示例代码:

// 加载 MySQL JDBC 驱动程序

Class.forName("com.mysql.jdbc.Driver");

// 创建数据库连接

String url = "jdbc:mysql://localhost:3306/mydb";

String username = "root";

String password = "mypassword";

Connection conn = DriverManager.getConnection(url, username, password);

如果连接成功,conn 对象将代表与 MySQL 数据库的一个有效连接。

关闭数据库连接

当不再需要数据库连接时,需要调用 Connection 对象的 close() 方法来释放连接资源。示例代码如下:

conn.close();

如果连接已关闭,再次调用 close() 方法不会产生任何效果。

执行 SQL 查询语句

Java程序可以通过执行 SQL 查询语句来与数据库进行交互。例如,可以使用 Statement 对象执行 SQL SELECT 语句。连接对象 conn 可以使用它的 createStatement() 方法来创建一个新的 Statement 对象。示例代码如下:

// 创建一个Statement对象

Statement stmt = conn.createStatement();

// 执行SELECT语句

ResultSet rs = stmt.executeQuery("SELECT * FROM employee");

ResultSet 对象包含查询结果的数据集,可以使用它的 next() 方法移动到下一行数据,使用 getXXX() 方法获取数据。例如:

while (rs.next()) {

    int id = rs.getInt("id");

    String name = rs.getString("name");

    Date hireDate = rs.getDate("hire_date");

    double salary = rs.getDouble("salary");

    System.out.println(id + ", " + name + ", " + hireDate + ", " + salary);

}

执行 SQL 更新语句

Java程序可以使用 Statement 对象执行 SQL UPDATE、INSERT 和 DELETE 语句。例如,使用 executeUpdate() 方法执行 SQL INSERT 语句:

// 执行SQL INSERT语句

String sql = "INSERT INTO employee (id, name, hire_date, salary) VALUES (1001, 'Alice', '2021-01-01', 5000)";

int updatedRows = stmt.executeUpdate(sql);

System.out.println("Number of updated rows: " + updatedRows);

如果更新成功,updatedRows 将代表受影响的行数。

事务控制

事务是一组 SQL 语句的执行,这些语句要么全部执行成功,要么全部不执行。Java程序可以使用 Connection 对象来控制事务。例如,可以使用 Connection 对象的 setAutoCommit(false) 方法来关闭自动提交,然后使用 commit() 方法提交事务。示例代码如下:

try {

    // 开始事务

    conn.setAutoCommit(false);

    // 执行一组SQL语句(INSERT、UPDATE、DELETE等)

    stmt.executeUpdate(sql1);

    stmt.executeUpdate(sql2);

    ...

    // 提交事务

    conn.commit();

} catch (SQLException ex) {

    // 发生异常,回滚事务

    conn.rollback();

} finally {

    // 恢复自动提交模式

    conn.setAutoCommit(true);

}

在事务处理过程中,如果发生异常,则可以调用 rollback() 方法回滚事务,使事务中的所有 SQL 语句都不执行。

总结

Java程序可以通过 JDBC API 来创建和操纵数据库连接。首先需要导入 java.sql 包和相应的数据库驱动程序包,然后使用 DriverManager 类的 getConnection() 方法获取数据库连接。连接成功后,可以使用 Statement 或 PreparedStatement 对象来执行 SQL 查询和更新语句。在事务处理过程中,可以使用 Connection 对象来控制事务的提交和回滚。