try { Connection conn = getConnection(TO_DRIVER,TO_URL,TO_USERNAME,TO_PASSWORD); conn.setAutoCommit(false); String sql = "INSERT INTO MC_REP_TRENDS(CLOCK,ITEMID,ITEMNAME,IP,NUM,VALUE_MIN, VALUE_AVG, VALUE_MAX) VALUES(?,?,?,?,?,?,?,?)"; PreparedStatement prst = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); for (int i = 0; i < list.size(); i++) { Mapbean = list.get(i); prst.setLong(1, Long.valueOf(bean.get("clock").toString())); prst.setLong(2, Long.valueOf(bean.get("itemId").toString())); prst.setString(3, String.valueOf(bean.get("itemName"))); prst.setString(4, String.valueOf(bean.get("ip"))); prst.setLong(5, Long.valueOf(bean.get("num").toString())); prst.setFloat(6, Float.valueOf(bean.get("value_min").toString())); prst.setFloat(7, Float.valueOf(bean.get("value_avg").toString())); prst.setFloat(8, Float.valueOf(bean.get("value_max").toString())); prst.addBatch(); if(i >0 &&i%1000 == 0){ prst.executeBatch(); } } prst.executeBatch(); conn.commit(); conn.close(); prst.close(); } catch (SQLException e) { e.printStackTrace(); }