jdbcTemplate queryForObject 查询 结果集 数量

1.组织sql语句, 查询参数 数组, 设置返回类型

public int countByCondtion(String title, int mediaType, String currentStatus, String provider, String region,
            Date from, Date to) {
        List<Object> params = new ArrayList<Object>();
        
        StringBuffer sql = new StringBuffer();
        sql.append("select count(1) from checkin_request where 1=1 ");
        if(StringUtils.isNotEmpty(title)){
            sql.append("and title=? ");
            params.add(title);
        }
        if(mediaType !=-1){
            sql.append("and mediatype=? ");
            params.add(mediaType);
        }
        if(StringUtils.isNotEmpty(currentStatus)){
            sql.append("and current_status=? ");
            params.add(currentStatus);
        }
        if(StringUtils.isNotEmpty(provider)){
            sql.append("and provider=? ");
            params.add(provider);
        }
        if(StringUtils.isNotEmpty(region)){
            sql.append("and region=? ");
            params.add(region);
        }
        if(from !=null){
            sql.append("and createtime>=? ");
            params.add(from);
        }
        if(to !=null){
            sql.append("and createtime<? ");
            params.add(to);
        }
        
        
        Object[] para = params.toArray(new Object[params.size()]);
        return this.jdbcTemplate.queryForObject(sql.toString(), para, Integer.class);
        
    }

2. 遇到的问题:

  以上代码为正确形式, 如果错误将select count 写成 select * ,则查询出错

posted @ 2016-07-11 17:07  fangfan  阅读(26570)  评论(0编辑  收藏  举报