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