批量插入数据java代码_第1页
批量插入数据java代码_第2页
批量插入数据java代码_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java批量插入数据库(MySQL激据实现Java批量插入数据库数据,在javaeye中看到过几篇关于实现Java批量插入数据库数据,转载时没有找到,就自己写一下,也算是对自己学习过程中所遇到过的问题做一个总结。一般关于批量向数据库插入数据都采用PreparedStatement、Statement也包括直接使用JDBCAPk框架也看到过几篇关于这些内容的总结,及大家的评论,以下为我总结的关于批量向数据库插入数据。1,使用JDBCAPI实现配量插入数据:有篇文章介绍过关于JDBCAPI、Hibernate实现批量插入数据,采用JDBCAPI方式实现随着数据的增长,速度更胜于Hibernate。

2、当然,对于这个测试的准确我并不保证,但是我也会优先选用JDBCAPI方式实现(原因:简单、易学、相对于框架更通用,不会过时)。2,采用PreparedStatement对象实现批量插入数据:PreparedStatement是真正的批处理命令,不是其他的伪批处理命令可以相比的(个人意见),它相对于其他的实现批量处理是非常的强大,比如字段不断改变,每次都要从文件从新读取就只能使用PreparedStatement对象来实现。再有就是存在即合理,既然PreparedStatement对象可以多次高效地执行预编译的语句,就一定有其原因(JDk源码没有分析过,和Statement实现的区别不了解)。3

3、,实现批量插入数据库数据Java代码一1. Class.forName("com.mysql.jdbc.Driver");2. Connectioncon=(Connection)DriverManager.getConnection("jdbc:mysql:/"+3. "localhost:3306/excel2mysql","wanle","wanle");4. /关闭事务自动提交5. con.setAutoCommit(false);6.7. SimpleDateFormatsdf=new

4、SimpleDateFormat("HH:mm:ss:SS");8. TimeZonet=sdf.getTimeZone();9. t.setRawOffset(0);10.sdf.setTimeZone(t);11. LongstartTime=System.currentTimeMillis();12.13. PreparedStatementpst=(PreparedStatement)con.prepareStatement("insertintotest04values(?,中国')");14. for(inti=0;i<1000

5、0;i+)15. pst.setInt(1,i);16. /把一个SQL命令加入命令列表17. pst.addBatch();18. 19. /执行批量更新20.pst.executeBatch();21 ./语句执行完毕,提交本事务mit();23 .24 .LongendTime=System.currentTimeMillis();25 .System.out.println("用时:"+sdf.format(newDate(endTime-startTime);26 .27 .pst.close();28 .con.close();Java代码一1. Class.f

6、orName("com.mysql.jdbc.Driver");2. Connectioncon=(Connection)DriverManager.getConnection("jdbc:mysql:/"+3. "localhost:3306/excel2mysql","wanle","wanle");4. /关闭事务自动提交5. con.setAutoCommit(false);6.7. SimpleDateFormatsdf=newSimpleDateFormat("HH:mm:

7、ss:SS");8. TimeZonet=sdf.getTimeZone();9. t.setRawOffset(0);10.sdf.setTimeZone(t);11 .LongstartTime=System.currentTimeMillis();12 .13 .PreparedStatementpst=(PreparedStatement)con.prepareStatement("insertintotest04values(?,中国')");14 .for(inti=0;i<10000;i+)15 .pst.setInt(1,i);16

8、./把一个SQL命令加入命令列表17 .pst.addBatch();18 .19 ./执行批量更新20.pst.executeBatch();21 ./语句执行完毕,提交本事务mit();23 .24 .LongendTime=System.currentTimeMillis();25 .System.out.println("用时:"+sdf.format(newDate(endTime-startTime);26 .27 .pst.close();28 .con.close();插入10000条数据用时3141毫秒,对于我已经很理想了,毕竟我们不会使用MySQLS行非常大型项目的开发,对于10000条数据3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论