public boolean insertForBatch(List<MessageBatchBean> list) {
//分批插入5000条记录插一次
final int MAX_VALUE = 5000;
int countNum = 0;
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = JdbcPool.getJdbcPool().getConnection_Radius();
System.out.println("&&&&&&&&&&&&&&&&&&链接成功&&&&&&&&&&&&&&&&&&&");
pstmt = conn
.prepareStatement("insert into sms_notifyuser (CHANNELID, SERIALID, ACPTNBR, NOTIFYTYPE, SMCONTENT, SENDNBR, INTIME, STATE, UPDATETIME) values (?, ?, ?, ?, ?, ?, ?, ?, ?)");
MessageBatchBean mb = null;
int count = list.size() / MAX_VALUE;
long startSum = System.currentTimeMillis();
for (int t = 0; t < count; t++) {
long start = System.currentTimeMillis();
for (int i = MAX_VALUE * t; i < MAX_VALUE * (t + 1); i++) {
if (i >= list.size())
break;
mb = (MessageBatchBean) list.get(i);
pstmt.setString(1, mb.getChannelID());
pstmt.setString(2, mb.getSerialID());
pstmt.setString(3, mb.getAcptNbr());
pstmt.setString(4, mb.getNotifyType());
pstmt.setString(5, mb.getSMContent());
pstmt.setString(6, mb.getSendNbr());
pstmt.setString(7, mb.getINTime());
pstmt.setString(8, mb.getState());
pstmt.setString(9, mb.getUpdateTime());
pstmt.addBatch();
countNum++;
}
long end = System.currentTimeMillis();
System.out.println("addBatch耗时:" + (end - start) + "ms");
pstmt.executeBatch();
conn.commit();
long end2 = System.currentTimeMillis();
System.out.println("executeBatch耗时:" + (end2 - end) + "ms");
}
long endSum = System.currentTimeMillis();
System.out.println("总共插入了" + countNum + "条数据!");
System.out.println("总耗时:" + (endSum - startSum) + "ms");
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return true;
}
//分批插入5000条记录插一次
final int MAX_VALUE = 5000;
int countNum = 0;
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = JdbcPool.getJdbcPool().getConnection_Radius();
System.out.println("&&&&&&&&&&&&&&&&&&链接成功&&&&&&&&&&&&&&&&&&&");
pstmt = conn
.prepareStatement("insert into sms_notifyuser (CHANNELID, SERIALID, ACPTNBR, NOTIFYTYPE, SMCONTENT, SENDNBR, INTIME, STATE, UPDATETIME) values (?, ?, ?, ?, ?, ?, ?, ?, ?)");
MessageBatchBean mb = null;
int count = list.size() / MAX_VALUE;
long startSum = System.currentTimeMillis();
for (int t = 0; t < count; t++) {
long start = System.currentTimeMillis();
for (int i = MAX_VALUE * t; i < MAX_VALUE * (t + 1); i++) {
if (i >= list.size())
break;
mb = (MessageBatchBean) list.get(i);
pstmt.setString(1, mb.getChannelID());
pstmt.setString(2, mb.getSerialID());
pstmt.setString(3, mb.getAcptNbr());
pstmt.setString(4, mb.getNotifyType());
pstmt.setString(5, mb.getSMContent());
pstmt.setString(6, mb.getSendNbr());
pstmt.setString(7, mb.getINTime());
pstmt.setString(8, mb.getState());
pstmt.setString(9, mb.getUpdateTime());
pstmt.addBatch();
countNum++;
}
long end = System.currentTimeMillis();
System.out.println("addBatch耗时:" + (end - start) + "ms");
pstmt.executeBatch();
conn.commit();
long end2 = System.currentTimeMillis();
System.out.println("executeBatch耗时:" + (end2 - end) + "ms");
}
long endSum = System.currentTimeMillis();
System.out.println("总共插入了" + countNum + "条数据!");
System.out.println("总耗时:" + (endSum - startSum) + "ms");
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return true;
}