批量提交SQL是指在一次数据库操作中,执行多个SQL语句,在Java中,可以使用JDBC(Java Database Connectivity)来实现批量提交SQL,以下是一个简单的示例:
1、需要导入相关的包:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException;
2、创建一个方法来批量提交SQL:
public void batchInsert(String[] sqls) { // 数据库连接字符串,用户名和密码 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection connection = null; PreparedStatement preparedStatement = null; try { // 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取数据库连接 connection = DriverManager.getConnection(url, user, password); // 关闭自动提交 connection.setAutoCommit(false); // 创建预处理语句对象 for (String sql : sqls) { preparedStatement = connection.prepareStatement(sql); preparedStatement.executeUpdate(); } // 提交事务 connection.commit(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { // 回滚事务 if (connection != null) { try { connection.rollback(); } catch (SQLException ex) { ex.printStackTrace(); } } e.printStackTrace(); } finally { // 关闭资源 if (preparedStatement != null) { try { preparedStatement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
3、调用该方法进行批量插入:
public static void main(String[] args) { String[] sqls = { "INSERT INTO users (name, age) VALUES ('张三', 18)", "INSERT INTO users (name, age) VALUES ('李四', 20)", "INSERT INTO users (name, age) VALUES ('王五', 22)" }; new Main().batchInsert(sqls); }
这个示例中,我们创建了一个batchInsert
方法,该方法接收一个包含多个SQL语句的字符串数组,在方法内部,我们使用JDBC连接到数据库,并关闭自动提交,我们遍历SQL语句数组,为每个语句创建一个预处理语句对象,并执行更新,我们提交事务并关闭资源。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。