使用批处理功能涉及到两个方法:
addBatch(String)方法
executeBatch方法
addBatch方法可以接受一段标准的SQL(如果你使用一个Statement)作为参数,也可以什么参数都不带(如果你使用一个PreparedStatement)。
executeBatch方法接着执行SQL语句,返回一个int型数组。这个数组包括每条语句影响到的行数。如果在一个批处理中使用是一个SELECT或者其它只返回结果的语句,那么将会产生一个SQLException异常
速度体验:
1.使用:PrepareStatement 耗时16s
long t1=System.currentTimeMillis();
String sql="insert into t1 values(?)";
pre=conn.prepareStatement(sql);
for(int i=0;i<100000;i++){
pre.setObject(1, i);
pre.executeUpdate();
}
conn.commit();
pre.close();
conn.close();
long t2=System.currentTimeMillis();
System.out.println((t2-t1)/1000+"s");
2.使用批处理 231 ms
long t1=System.currentTimeMillis();
String sql = "insert into t1 values(?)";
pre = conn.prepareStatement(sql);
for(int i=1;i<=100000;i++){
pre.setObject(1, i);
pre.addBatch();
}
pre.clearBatch();
pre.executeBatch();
long t2=System.currentTimeMillis();
System.out.println((t2-t1)+"s");
一般使用PrepareStatement+批处理 来处理大量数据!
分享到:
相关推荐
jdbc2.0版 PreparedStatement接口的用法
内容为JDBC增删改查 ,事物处理, 批处理,以及预编译示例代码
关于PreparedStatement插入Date类型值的方法.txt
PreparedStatement详细用法
NULL 博文链接:https://huiminchen.iteye.com/blog/1097332
JDBC基础教程之PreparedStatement.doc )
练习3:使用PreparedStatement插入宠物信息.zip
Statement和PreparedStatement之间的区别
在java中向访问数据库的sql语句一般放到类PreparedStatement类构造函数中,这里遇到的问题就是向sql语句中用setDate()插入时间时不能用java.util.date,而应用java.sql.date,这里就讲述了解决方法,一种是插入...
NULL 博文链接:https://chaoyi.iteye.com/blog/2088080
MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip
java中PreparedStatement和Statement的区别
JDBC中PreparedStatement接口提供的execute、executeQuery和executeUpdate之间的区别及用法
NULL 博文链接:https://stevenjohn.iteye.com/blog/968877
此实例意在解决预处理命令PreparedStatement的setString()方法,在sql2008数据库中写入数据时,会自动补足空格的问题, 同时此实例也解决了当存在自动补足空格的问题时,使用nvarchar可以使查找出来的数据与原输入...
可以了解PreparedStatemen的具体用法,使用与JSP初学者
PrepatredStatement实例包含已编译的SQL语句,由于PreparedStatement对象已预编译过哦哦,所以执行速度快于Statement对象。 包含于PreparedStatement对象中的SQL语句具有一个或多个IN参数。IN参数的值在SQL...
什么时候用statement,什么时候用preparedstatement
jdbc数据软件测试中使用JDBC插入大量数据的性能测试使用jdbc向数据库插入100000条记录,分别使用statement,PreparedStatement,及PreparedStatement+批处理3种方式进行测试:1、使用statement插入100000条记录...