/**
* 批量插入
*/
public void insertBudget(List<CostBudget> budgetList) {
final List<CostBudget> budgetListTemp = budgetList;
if(budgetListTemp != null && budgetListTemp.size() > 0) {
String sql= CommonConfig.getString("costbudget.insert.cost_budget","");
this.jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
CostBudget costBudget = budgetListTemp.get(i);
ps.setInt(1, costBudget.getTerm());
ps.setInt(2, costBudget.getBudgetType());
ps.setInt(3, costBudget.getDeptId() != null?costBudget.getDeptId():0);
ps.setString(4, costBudget.getImportDeptName());
ps.setString(5, costBudget.getKmBh());
ps.setString(6, costBudget.getImportKmMc());
ps.setBigDecimal(7, BigDecimal.valueOf(costBudget.getCurrentMonth()));
ps.setBigDecimal(8, BigDecimal.valueOf(costBudget.getCurrentMonthAdjust()));
ps.setBigDecimal(9, BigDecimal.valueOf(costBudget.getCurrentMonthAdAfter()));
ps.setBigDecimal(10, BigDecimal.valueOf(costBudget.getSumCurrent()));
ps.setBigDecimal(11, BigDecimal.valueOf(costBudget.getSumCurrentAdjust()));
ps.setBigDecimal(12, BigDecimal.valueOf(costBudget.getSumCurrentAdAfter()));
ps.setBigDecimal(13, BigDecimal.valueOf(costBudget.getYearBudget()));
ps.setBigDecimal(14, BigDecimal.valueOf(costBudget.getBudgetCompletionRate()));
//每2000条进行事物提交
if (i%2000 == 0) {
ps.executeBatch(); //执行prepareStatement对象中所有的sql语句
}
}
@Override
public int getBatchSize() {
return budgetListTemp.size();
}
});
}
}