JDBC大批量写入数据到SQLServer2000,记录数大于10000

所属分类: 数据库 / 数据库其它 阅读数: 95
收藏 0 赞 0 分享
复制代码 代码如下:

SpObserver.putSp("sessionFactory1");
SimpleDateFormat fomat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Session s=null;
s=daoSupport.getSessionFactory().openSession();
Connection con=s.connection();
Statement stmt = null;
try {
stmt=con.createStatement();
con.setAutoCommit(false);
Iterator it=list.iterator();
int iCount = 1;
long start = System.currentTimeMillis();
while(it.hasNext()){
TResultWaterZId t = (TResultWaterZId)it.next();
StringBuffer sb = new StringBuffer();
sb.append("insert into T_result_water_z(schemeid,stcd,z,tm) values('");
sb.append(t.getSchemeid()).append("','").append(t.getStcd()).append("','");
sb.append(t.getZ()).append("','").append(fomat.format(t.getTm())).append("')");
stmt.addBatch(sb.toString());
if(iCount % 1000 == 0){
stmt.executeBatch();
stmt.clearBatch();
}
iCount++;
}
stmt.executeBatch();
stmt.clearBatch();
con.commit();
long end = System.currentTimeMillis();
System.out.println("addTResultWaterZId used time:"+(end-start));
stmt.close();
con.close();
} catch (SQLException e) {
try {
con.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally{
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
更多精彩内容其他人还在看

ACCESS转SQLSERVER数据库的注意事项

Access承重量太低,当你考虑升级到SQL Server时,并不只是个连接字符串需要改变,需要改变的还有很多
收藏 0 赞 0 分享

数据库设计技巧[转]

数据库设计技巧[转]
收藏 0 赞 0 分享

iwms access与sql版的安装与转换

iwms access与sql版的安装与转换
收藏 0 赞 0 分享

[转载]让SQL运行得更快

笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计、不充份的连接条件和不可优化的where子句。在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结
收藏 0 赞 0 分享

[数据库] 通用分页存储过程第1/5页

[数据库] 通用分页存储过程
收藏 0 赞 0 分享

Access数据库升级为SQL数据库的注意事项和方法

Access数据库升级为SQL数据库的注意事项和方法
收藏 0 赞 0 分享

Win2003系统安装SQL Server2000后1433端口未开放的解释

这篇文章主要介绍了Win2003系统安装SQL Server2000后1433端口未开放的解释
收藏 0 赞 0 分享

SQL SERVER 与ACCESS、EXCEL的数据转换

SQL SERVER 与ACCESS、EXCEL的数据转换
收藏 0 赞 0 分享

Access转SqlServer的注意事项

Access转SqlServer的注意事项,需要的朋友可以参考下。
收藏 0 赞 0 分享

数据库的设计方法、规范与技巧

数据库的设计方法、规范与技巧
收藏 0 赞 0 分享
查看更多