批量插入数据

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;

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值