首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Spring 批量安插

2012-07-01 
Spring 批量插入/*** 批量插入*/public void insertBudget(ListCostBudget budgetList) {final ListCos

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();                }            });        }    }

?

热点排行