【实践】jdbc批量插入数据
2024-10-09 19:17:44
参考文献:http://my.oschina.net/u/1452675/blog/203670
http://superjavason.iteye.com/blog/255423
/*测试批量写入数据*/
long start = System.currentTimeMillis();
DaoRecord daoRecord = new DaoRecord();
List<T> list = new ArrayList<T>();
for(int i = 1; i <= 1000; i++){
for(int j = 1; j <= 1000; j++){
T t = new T();
t.setI(i);
t.setJ(j);
list.add(t);
}
}
daoRecord.InsertBatch(list);
System.out.println("耗时:" + (System.currentTimeMillis()-start)+"毫秒");
//批量写入数据测试
public void InsertBatch(List<T> list){
String sql = "insert into t(go,back) values(?,?)";
DBHelper dbh = new DBHelper(sql);
Connection conn = dbh.returnConn();
try {
conn.setAutoCommit(false);//注意此句一定要为false,原因见第一篇参考文献
PreparedStatement ps = conn.prepareStatement(sql);
for(int i = 0; i < list.size(); i++){
ps.setInt(1, list.get(i).getI());
ps.setInt(2, list.get(i).getJ());
ps.addBatch();
if (i % 10000 == 0){
ps.executeBatch();
conn.commit();
}
}
ps.executeBatch();
conn.commit();
conn.close();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
数据表:
实验结果:
最新文章
- Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试
- 深入理解javascript原型和闭包(10)——this
- Visual Studio 不生成.vshost.exe和.pdb文件的方法【转】
- 两个list取不同值
- notepad++编译并运行java (自定义包)
- oreData的学习记录
- java连接mysql(一)
- 泛型Dictionary的用法详解
- Canvas制作排序算法演示动画
- Java web项目
- Intellij IDEA创建Maven Web项目
- java显示本地磁盘所有盘符,显示桌面路径
- 【每天半小时学框架】——React.js的模板语法与组件概念
- 网络编程之UDP编程
- 计算机基础之Windows10操作系统安装U盘制作
- PTA 字符串关键字的散列映射(25 分)
- 记录一次在centos下使用gmp的悲伤
- leetcode树专题894.897,919,951
- iOS多线程编程之创建线程安全(转载)
- 基于MSAA的QQ界面信息获取的实现