java批量修改数据库数据
时间: 2023-10-04 15:05:59 浏览: 100
可以使用 JDBC (Java Database Connectivity) 连接数据库,并使用 SQL 语句批量修改数据。以下是一个简单的示例代码:
```java
import java.sql.*;
public class BatchUpdateExample {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
// 连接数据库
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 设置自动提交为 false
conn.setAutoCommit(false);
// 创建 Statement 对象
stmt = conn.createStatement();
// 批量修改数据
stmt.addBatch("UPDATE mytable SET column1=value1 WHERE id=1");
stmt.addBatch("UPDATE mytable SET column1=value2 WHERE id=2");
stmt.addBatch("UPDATE mytable SET column1=value3 WHERE id=3");
// 执行批量操作
int[] updateCounts = stmt.executeBatch();
// 手动提交事务
conn.commit();
// 输出结果
for (int i = 0; i < updateCounts.length; i++) {
System.out.println("Updated " + updateCounts[i] + " rows.");
}
} catch (SQLException e) {
e.printStackTrace();
// 回滚事务
if (conn != null) {
try {
conn.rollback();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
} finally {
// 关闭资源
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
```
在上面的示例中,我们先连接到数据库,然后创建一个 Statement 对象,使用 `addBatch()` 方法批量添加需要修改的 SQL 语句,最后使用 `executeBatch()` 方法执行批量操作,返回一个整型数组,表示每条 SQL 语句修改的行数。如果有任何一个 SQL 语句执行失败,则会抛出 SQLException 异常,在异常处理中需要回滚事务,否则会将所有 SQL 语句的修改全部提交到数据库。
阅读全文