zoukankan      html  css  js  c++  java
  • 带参方法的执行:普通方法的查询,可为空方法的查询。批量处理SQL语句。

    普通方法的查询:

    @Override
        public List<Map<String, Object>> selectSpentAmount(Integer MAT_TYPE_, String DEPT_CODE_, Integer YEAR_, Map<String, Object> operator) {
            String sql = "select MAT_NO_, sum(AMOUNT_) as SPENT_AMOUNT_ from DM_MAT_MONTH_PLAN where MAT_TYPE_ = ? and DEPT_CODE_ = ? and YEAR_ = ? and PROCESS_STATUS_ in (1, 2) group by MAT_NO_";
            return dmJdbcTemplate.queryForList(sql, MAT_TYPE_, DEPT_CODE_, YEAR_);
        }

    可为空方法的查询:

    @Override
        public List<Map<String, Object>> selectSpentBudget(Integer MAT_TYPE_, String DEPT_CODE_, Integer YEAR_, Integer MONTH_, String MAT_BUDGET_CAT_ID_, List<Integer> PROCESS_STATUS_LIST, Map<String, Object> operator) {
            String sql = "select MAT_NO_, sum(PLANNED_PRICE_ * AMOUNT_) as SPENT_BUDGET_ from DM_MAT_MONTH_PLAN where 1 = 1";
            Map<String, Object> paramMap = new HashMap<String, Object>();
    
            if (MAT_TYPE_ != null) {
                sql += " and MAT_TYPE_ = :MAT_TYPE_";
                paramMap.put("MAT_TYPE_", MAT_TYPE_);
            }
    
            if (StringUtils.isNotEmpty(DEPT_CODE_)) {
                sql += " and DEPT_CODE_ = :DEPT_CODE_";
                paramMap.put("DEPT_CODE_", DEPT_CODE_);
            }
    
            if (YEAR_ != null) {
                sql += " and YEAR_ = :YEAR_";
                paramMap.put("YEAR_", YEAR_);
            }
    
            if (MONTH_ != null) {
                sql += " and MONTH_ = :MONTH_";
                paramMap.put("MONTH_", MONTH_);
            }
    
            if (StringUtils.isNotEmpty(MAT_BUDGET_CAT_ID_)) {
                sql += " and MAT_BUDGET_CAT_ID_ = :MAT_BUDGET_CAT_ID_";
                paramMap.put("MAT_BUDGET_CAT_ID_", MAT_BUDGET_CAT_ID_);
            }
    
            if (PROCESS_STATUS_LIST != null && PROCESS_STATUS_LIST.size() > 0) {
                sql += " and PROCESS_STATUS_ in (:PROCESS_STATUS_LIST)";
                paramMap.put("PROCESS_STATUS_LIST", PROCESS_STATUS_LIST);
            }
            sql += " group by MAT_NO_";
            NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dmJdbcTemplate);
            return namedParameterJdbcTemplate.queryForList(sql, paramMap);
        }

    批量处理SQL语句:

    @Override
        public int updateStatus(final List<String> MAT_AUX_PLAN_REC_ID_LIST, final Map<String, Object> operator) {
            if (MAT_AUX_PLAN_REC_ID_LIST == null || MAT_AUX_PLAN_REC_ID_LIST.size() == 0) {
                return 0;
            }
    
            String sql = "update DM_MAT_AUX_PLAN_REC set STATUS_ = 1 where MAT_AUX_PLAN_REC_ID_ = ? and STATUS_ = 0";
    
            BatchPreparedStatementSetter batch = new BatchPreparedStatementSetter() {
                public void setValues(PreparedStatement ps, int i) throws SQLException {
                    ps.setString(1, MAT_AUX_PLAN_REC_ID_LIST.get(i));
                }
    
                public int getBatchSize() {
                    return MAT_AUX_PLAN_REC_ID_LIST.size();
                }
            };
            return dmJdbcTemplate.batchUpdate(sql, batch).length;
        }
  • 相关阅读:
    WHU-1551-Pairs(莫队算法+分块实现)
    JS日历控件 灵活设置: 精确的时分秒.
    java集群优化——多线程下的单例模式
    课程设计——银行系统
    互联网金融,巨头天下还是创业者天堂?
    Android 使用图片异步载入框架Universal Image Loader的问题
    程序C++ to C#交互
    浅谈asp.net通过本机cookie仿百度(google)实现搜索input框自己主动弹出搜索提示
    全栈JavaScript之路(十六)HTML5 HTMLDocument 类型的变化
    推荐安卓开发神器(里面有各种UI特效和实例)
  • 原文地址:https://www.cnblogs.com/shinelover/p/5930534.html
Copyright © 2011-2022 走看看