批量执行SQL可以使用JDBC(Java Database Connectivity)来实现,以下是一个简单的示例,展示了如何使用Java批量执行SQL语句:
1、需要导入相关的包:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
2、创建一个方法来批量执行SQL语句:
public class BatchExecuteSQL { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test_db"; String user = "root"; String password = "password"; try { // 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 Connection connection = DriverManager.getConnection(url, user, password); // 关闭自动提交 connection.setAutoCommit(false); // 创建预处理语句 String sql = "INSERT INTO users (name, age) VALUES (?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(sql); // 添加批量数据 for (int i = 0; i < 10; i++) { preparedStatement.setString(1, "User" + i); preparedStatement.setInt(2, 20 + i); preparedStatement.addBatch(); } // 执行批量操作 int[] result = preparedStatement.executeBatch(); // 提交事务 connection.commit(); // 关闭资源 preparedStatement.close(); connection.close(); System.out.println("批量插入成功,影响的行数:" + result.length); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } }
在这个示例中,我们首先加载了MySQL的JDBC驱动,然后通过DriverManager.getConnection()
方法获取到了数据库连接,接着,我们关闭了自动提交功能,以便我们可以手动控制事务。
我们创建了一个预处理语句,用于插入数据,在这个例子中,我们使用了?
作为占位符,并通过preparedStatement.setString()
和preparedStatement.setInt()
方法设置了具体的值,我们还使用preparedStatement.addBatch()
方法将这个语句添加到了批处理中。
接下来,我们调用preparedStatement.executeBatch()
方法执行了批量操作,这个方法会返回一个整数数组,表示每个语句影响的行数,我们提交了事务,并关闭了资源。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/642544.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复