用以解决mybatis的批量插入慢的问题
//注入这个
import javax.sql.DataSource;
@Resource()
private DataSource dataSource;
//
try {
connection = dataSource.getConnection();
connection.setAutoCommit(false);
String sql = "insert into samic_ls_cl_estloss( "........
" ) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?," +
"?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
//预编译语句
statement = connection.prepareStatement(sql);
for (SamicLsClEstlossExcelVo e : samicLsClEstlossExcelVoArrayList) {
//填充问号
statement.setLong(1, samicLsClEstloss.getSamicParentId());
statement.setLong(2, samicLsClEstloss.getSamicTopId());
statement.setString(3, samicLsClEstloss.getSamicListNo());
statement.setString(4, samicLsClEstloss.getSamicFileId());
statement.setString(5, samicLsClEstloss.getSamicCustomerCode());
//添加到批量
statement.addBatch();
}
//执行语句
statement.executeBatch();
//提交事务
connection.commit();
} catch (Exception e) {
e.printStackTrace();
// 异常回滚
connection.rollback();
}finally {
//关闭资源
connection.close();
statement.close();
}