Java 中使用 JDBC 进行数据库更新操作302


在 Java 应用程序中,经常需要修改或更新数据库中的数据。JDBC(Java Database Connectivity)是一种用于在 Java 中与数据库交互的 API,提供了更新数据库的能力。本文将指导您使用 JDBC 进行数据库更新操作,包括插入、更新和删除记录。

先决条件

在开始之前,您需要以下先决条件:* Java 开发环境 (JDK)
* 数据库管理系统 (DBMS)
* JDBC 驱动程序(与您的 DBMS 兼容)

连接到数据库

要更新数据库,您首先需要建立到数据库的连接。可以使用以下代码连接到 MySQL 数据库:```java
import ;
import ;
public class DatabaseConnection {
public static void main(String[] args) {
try {
// JDBC 驱动器和数据库 URL
String JDBC_DRIVER = "";
String DB_URL = "jdbc:mysql://localhost:3306/mydb";
// 数据库凭据
String USER = "root";
String PASS = "password";
// 注册 JDBC 驱动程序
(JDBC_DRIVER);
// 打开连接
Connection connection = (DB_URL, USER, PASS);
// 输出连接信息
("成功连接到数据库!");
} catch (Exception e) {
();
} finally {
// 关闭连接
if (connection != null) {
try {
();
} catch (Exception e) {
();
}
}
}
}
}
```

插入记录

要插入一条新记录,可以使用以下代码:```java
import ;
import ;
import ;
public class InsertRecord {
public static void main(String[] args) {
try {
// JDBC 驱动器、数据库 URL、凭据(如前所述)
// SQL 插入语句
String SQL_INSERT = "INSERT INTO employees (name, email, salary) VALUES (?, ?, ?)";
// 创建 PreparedStatement
PreparedStatement preparedStatement = (SQL_INSERT);
// 设置插入的值
(1, "John Doe");
(2, "@");
(3, 50000.00);
// 执行插入操作
int rowCount = ();
// 输出受影响的行数
("插入了 " + rowCount + " 条记录!");
} catch (Exception e) {
();
} finally {
// 关闭连接和 PreparedStatement
if (connection != null) {
try {
();
} catch (Exception e) {
();
}
}
if (preparedStatement != null) {
try {
();
} catch (Exception e) {
();
}
}
}
}
}
```

更新记录

要更新现有记录,可以使用以下代码:```java
import ;
import ;
import ;
public class UpdateRecord {
public static void main(String[] args) {
try {
// JDBC 驱动器、数据库 URL、凭据(如前所述)
// SQL 更新语句
String SQL_UPDATE = "UPDATE employees SET salary = ? WHERE id = ?";
// 创建 PreparedStatement
PreparedStatement preparedStatement = (SQL_UPDATE);
// 设置更新的值
(1, 60000.00);
(2, 1);
// 执行更新操作
int rowCount = ();
// 输出受影响的行数
("更新了 " + rowCount + " 条记录!");
} catch (Exception e) {
();
} finally {
// 关闭连接和 PreparedStatement
if (connection != null) {
try {
();
} catch (Exception e) {
();
}
}
if (preparedStatement != null) {
try {
();
} catch (Exception e) {
();
}
}
}
}
}
```

删除记录

要删除记录,可以使用以下代码:```java
import ;
import ;
import ;
public class DeleteRecord {
public static void main(String[] args) {
try {
// JDBC 驱动器、数据库 URL、凭据(如前所述)
// SQL 删除语句
String SQL_DELETE = "DELETE FROM employees WHERE id = ?";
// 创建 PreparedStatement
PreparedStatement preparedStatement = (SQL_DELETE);
// 设置删除的值
(1, 2);
// 执行删除操作
int rowCount = ();
// 输出受影响的行数
("删除了 " + rowCount + " 条记录!");
} catch (Exception e) {
();
} finally {
// 关闭连接和 PreparedStatement
if (connection != null) {
try {
();
} catch (Exception e) {
();
}
}
if (preparedStatement != null) {
try {
();
} catch (Exception e) {
();
}
}
}
}
}
```

使用事务

在某些情况下,您可能需要同时执行多个更新操作。为了确保事务的原子性、一致性、隔离性和持久性(ACID),可以使用事务。以下代码演示了如何使用事务:```java
import ;
import ;
import ;
import ;
public class TransactionExample {
public static void main(String[] args) {
try {
// JDBC 驱动器、数据库 URL、凭据(如前所述)
// 打开连接
Connection connection = (DB_URL, USER, PASS);
// 开启事务
(false);
// SQL 更新语句
String SQL_UPDATE1 = "UPDATE employees SET salary = ? WHERE id = ?";
String SQL_UPDATE2 = "UPDATE employees SET salary = ? WHERE id = ?";
// 创建 PreparedStatements
PreparedStatement preparedStatement1 = (SQL_UPDATE1);
PreparedStatement preparedStatement2 = (SQL_UPDATE2);
// 设置更新的值
(1, 70000.00);
(2, 1);
(1, 80000.00);
(2, 3);
// 执行更新
();
();
// 提交事务
();
// 输出成功信息
("事务已成功提交!");
} catch (SQLException e) {
();
// 回滚事务
if (connection != null) {
try {
();
} catch (SQLException ex) {
();
}
}
} finally {
// 关闭连接和 PreparedStatements
if (connection != null) {
try {
();
} catch (Exception e) {
();
}
}
if (preparedStatement1 != null) {
try {
();
} catch (Exception e) {
();
}
}
if (preparedStatement2 != null) {
try {
();
} catch (Exception e) {
();
}
}
}
}
}
```

理解如何在 Java 中使用 JDBC 进行数据库更新操作至关重要。本文提供了详细的指导,解释了插入、更新、删除和使用事务的代码示例。掌握这些概念对于在应用程序中有效地管理数据库

2024-11-20


上一篇:Java 中 byte 数组转换为 int 数组

下一篇:如何在 Java 中调用本类的方法