1、方法一,使用老方法,直接在insert时做for循环
public boolean addList(List<kqdateMap> ss){
boolean result =false;
Connection conn=super.openConn();
String sql ="insert into kqdateList(id,partment,getInDate,getInUser,userId,userName,getInStrus) values(?,?,?,?,?,?,?)";
try {
long beginTime =System.currentTimeMillis(); //测试开始时间
for(kqdateMap kq1:ss){
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setInt(1, kq1.getId());
pstmt.setString(2, kq1.getPartment());
pstmt.setString(3, kq1.getGetInDate());
pstmt.setString(4, kq1.getInUser());
pstmt.setInt(5, kq1.getUserId());
pstmt.setString(6, kq1.getUserName());
pstmt.setString(7, kq1.getGetInStrus());
pstmt.executeUpdate();
}
result = true;
long endTime =System.currentTimeMillis(); //测试结束时间
System.out.println("addList Time:"+(endTime-beginTime));//打印耗时
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
super.closeConn();
return result;
}
2、方法二,executeBatch
public boolean addList2(List<kqdateMap> ss){
boolean result =false;
Connection conn=super.openConn();
String sql ="insert into kqdateList(id,partment,getInDate,getInUser,userId,userName,getInStrus) values(?,?,?,?,?,?,?)";
PreparedStatement pstmt=null;
try {
pstmt=conn.prepareStatement(sql);
long beginTime =System.currentTimeMillis();//测试开始时间
for(kqdateMap kq1:ss){
pstmt.setInt(1, kq1.getId());
pstmt.setString(2, kq1.getPartment());
pstmt.setString(3, kq1.getGetInDate());
pstmt.setString(4, kq1.getInUser());
pstmt.setInt(5, kq1.getUserId());
pstmt.setString(6, kq1.getUserName());
pstmt.setString(7, kq1.getGetInStrus());
//pstmt.executeUpdate();
pstmt.addBatch();
}
pstmt.executeBatch();
pstmt.clearBatch();
result = true;
long endTime =System.currentTimeMillis();//测试结束时间
System.out.println("addList2 Time:"+(endTime-beginTime));//打印耗时
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
super.closeConn();
return result;
}