读书人

Spring 批量安插

发布时间: 2012-07-01 13:15:00 作者: rapoo

Spring 批量插入

    /**     * 批量插入     */    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();                }            });        }    }

?

读书人网 >移动开发

热点推荐