public static void addRecord(String tableName,String title,List<Object> contents){
long count = 0;
Integer time = 0;
Connection conn = getConn();
try {
conn.setAutoCommit(false);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
PreparedStatement ps = null;
StringBuffer sql = new StringBuffer();
StringBuffer sb = new StringBuffer();
try {
for (int i = 0; i < contents.size(); i++) {
sql.setLength(0);
sb.setLength(0);
sb.append(((List)contents.get(i)).get(0).toString());
//sql.append("insert into "+tableName+" ("+title+") values ( "+sb.toString().replaceAll("\"","'")+" )");
sql.append("insert into "+tableName+" ("+title+") values ( "+sb.toString()+" )");
ps = conn.prepareStatement(sql.toString());
ps.addBatch();
count++;
if(time<=(count/10000)){
if(count%10000==0){
time++;
ps.executeBatch();
conn.commit();
//conn.setAutoCommit(true);
}
}
if((time==(contents.size()/10000))&&(count%10000)!=0&&count==contents.size()){
System.out.println("提交数据");
int[] executeBatch = ps.executeBatch();
System.out.println(executeBatch.toString());
conn.commit();
//conn.setAutoCommit(true);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
Close(null, ps, null);
}
数据不能全部提交而且只有一条不是最后的记录,是中间的记录,为什么??