当前位置:   article > 正文

java批量执行查询sql语句_如何从Java执行多个SQL语句

java批量执行sql语句

小编典典

您可以使用以下示例实现addBatch和executeBatch命令同时执行多个 SQL 命令。

批处理允许您将相关的SQL语句分组为一个批处理,并通过一次调用将其提交给数据库。参考

当您一次将多个SQL语句发送到数据库时,可以减少通信开销,从而提高性能。

不需要JDBC驱动程序即可支持此功能。您应该使用该DatabaseMetaData.supportsBatchUpdates()方法确定目标数据库是否支持批量更新处理。如果您的JDBC驱动程序支持此功能,则该方法返回true。

Statement,PreparedStatement和CallableStatement 的 executeBatch()用于启动所有组合在一起的语句的执行。

正如您可以将语句添加到批处理中一样,您可以使用 addBatch()方法添加的所有语句。但是,您不能有选择地选择要删除的语句。

例:

import java.sql.*;

public class jdbcConn {

public static void main(String[] args) throws Exception{

Class.forName("org.apache.derby.jdbc.ClientDriver");

Connection con = DriverManager.getConnection

("jdbc:derby://localhost:1527/testDb","name","pass");

Statement stmt = con.createStatement

(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

String insertEmp1 = "insert into emp values

(10,'jay','trainee')";

String insertEmp2 = "insert into emp values

(11,'jayes','trainee')";

String insertEmp3 = "insert into emp values

(12,'shail','trainee')";

con.setAutoCommit(false);

stmt.addBatch(insertEmp1);//inserting Query in stmt

stmt.addBatch(insertEmp2);

stmt.addBatch(insertEmp3);

ResultSet rs = stmt.executeQuery("select * from emp");

rs.last();

System.out.println("rows before batch execution= "

+ rs.getRow());

stmt.executeBatch();

con.commit();

System.out.println("Batch executed");

rs = stmt.executeQuery("select * from emp");

rs.last();

System.out.println("rows after batch execution= "

+ rs.getRow());

}

}

2020-09-08

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/808644
推荐阅读
相关标签
  

闽ICP备14008679号