JDBC大批量写入数据到SQLServer2000,记录数大于10000
JDBC大批量写入数据到SQLServer2000,记录数大于10000
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:SpObserver.putSp("sessionFactory1");SimpleDateFormatfomat=new...

复制代码 代码如下:

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();

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新数据库其他学习
热门数据库其他学习
编程开发子分类