实现Java批量插入数据库数据,在javaeye中看到过几篇关于实现Java批量插入数据库数据,转载时没有找到,就自己写一下,也算是对自己学习过程中所遇到过的问题做一个总结。
一般关于批量向数据库插入数据都采用PreparedStatement、Statement…………也包括直接使用JDBC API、框架…………
也看到过几篇关于这些内容的总结,及大家的评论,以下为我总结的关于批量向数据库插入数据。
1,使用JDBC API实现配量插入数据:有篇文章介绍过关于JDBC API、Hibernate实现批量插入数据,采用JDBC API 方式实现随着数据的增长,速度更胜于Hibernate。当然,对于这个测试的准确我并不保证,但是我也会优先选用JDBC API方式实现(原因:简单、易学、相对于框架更通用,不会过时)。
2,采用PreparedStatement对象实现批量插入数据:PreparedStatement是真正的批处理命令,不是其他的伪批处理命令可以相比的(个人意见),它相对于其他的实现批量处理是非常的强大,比如字段不断改变,每次都要从文件从新读取就只能使用PreparedStatement对象来实现。再有就是存在即合理,既然PreparedStatement对象可以多次高效地执行预编译的语句,就一定有其原因(JDk源码没有分析过,和Statement实现的区别不了解)。
3,实现批量插入数据库数据
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://" +
"localhost:3306/excel2mysql", "wanle", "wanle");
// 关闭事务自动提交
con.setAutoCommit(false);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SS");
TimeZone t = sdf.getTimeZone();
t.setRawOffset(0);
sdf.setTimeZone(t);
Long startTime = System.currentTimeMillis();
PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')");
for (int i = 0; i < 10000; i++) {
pst.setInt(1, i);
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
Long endTime = System.currentTimeMillis();
System.out.println("用时:" + sdf.format(new Date(endTime - startTime)));
pst.close();
con.close();
插入10000条数据用时3141毫秒,对于我已经很理想了, 毕竟我们不会使用MySQL进行非常大型项目的开发,对于10000条数据3秒多点,已经可以了,我相信对于大家应该也足以应付了,我们不会每天都插入10000条吧,当然对于我的话如果有这样的需求,我不会选择MySQL。
以上所有内容均为对于我所学习使用过程中、实际项目开发中的总结,也应用于其中。对于批量插入,数据导入均采用这样的方式。
分享到:
相关推荐
只要学我一样编写这么一个工具类便可以实现批量插入多条数据,百条,千条,万条,后期还会继续优化增加数据时的速度!有点代码基础的保证能看懂,此项目已经有了前端界面你可以直接的导入然后运行测试既可以了,表...
实现从Excel批量导入数据到MySQL 数据库中,可以同时导入多张Excel表,使用时在excel.table 中配置需要导入的表及可!
java快速插入千万级数据,亲测91秒插入1700万数据!!!
当获取过来的是值往数据库插入的时候有相同的就不插入,将不同的插入到数据库中
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?今天小编通过本教程给大家介绍下
主要为大家详细介绍了java连接mysql数据库实现单条插入和批量插入,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
spring jdbc Templatetest 访问mysql数据库,批量插入数据
这个jar包提供了高效的数据库访问能力,使开发人员能够轻松地执行各种数据库操作,包括查询、插入、更新和删除数据等。它具有稳定性高、性能优越的特点,能够在各种复杂的应用场景下保持良好的表现。 此jar包的设计...
主要介绍了java中JDBC实现往MySQL插入百万级数据的实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
项目(nodejs)中需要一次性插入多笔数据到数据库,数据库是mysql的,由于循环插入的性能太差,就像使用批量插入的方法提高数据的插入性能。 批量插入的数据库的表结构如下: 1.数据库连接 var mysql = require('...
尚硅谷_MySQL高级_批量插入数据脚本 · 51.尚硅谷_MySQL高级_用Show Profile进行sql分析 · 52.尚硅谷_MySQL高级_全局查询日志 · 53.尚硅谷_MySQL高级_数据库锁理论概述 · 54.尚硅谷_MySQL高级_读锁案例讲解 ...
宁夏大学软件工程,软件案例分析作业,向数据库中插入150万条数据,比较加索引的表和不加索引的表的查找时间,体现索引优势。 内有姓名生成器,
如果是mysql数据源则直接由mysql执行,如果是别的数据源则使用sql-executor解析sql并调用对应数据源的api执行。 详情请转移到以下链接: 快速开始 整个jar包是个springboot的web项目,启动后会在本地运行一个tomcat...
那就可以直接通过javascript中的DOM操作,来直接获取div元素中的属性值,然后将属性值传递输出到body元素中,把属性直接打在页面上,然后通过excel批量插入,再直接转移到navicat上插入数据库即可。 Javascript方法 ...
数据迁移时 按照数据插入顺序来读取,批量插入迁移目标中,迁移过程中,每次批量插入会保存状态,可以在网络错误或者其他异常状态下,重启程序后继续插入,每次状态的文件会保存在/jobs文件夹下。迁移的log输出会...
接下来就看看node.js将MongoDB中的数据批量插入到MySQL数据库的实现过程。话不多说了,来一起看看详细的介绍吧。 环境 node.js MongoDB MySQL npm 需要的模块 mongoose MySQL 准备好MongoDB中的数据 比如...
1.目前可实现数据库表的批量删除和创建 2.从txt或xls文件中选取具体数据列选中数据并插入数据库的某张表中 3.在Java环境配置完成的基础上,直接在终端执行execute.sh即可完成编译实现对Mysql数据库的控制
为了解决大批量公司人员导入的问题,实在是懒得写sql脚本手动导入,工作之余顺便调研了Jacob插件,实现了解析Excel,并将人员信息数据批量导入到数据库的小工具。
”我做了什么读取一组测试分数,将每个分数处理到其分数,然后将更新的数据写入MySQL数据库表。 我使用提供的'scores.txt'测试用例作为程序的输入。 它在csv文件夹下提供。 'Coding_challenge.out'是从MySQL数据库...