A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//带条件查询记录数
@Override
public int findTotalCount(Map<String, String[]> map) {
    //定义sql,需要动态生成,定义1=1为了更好的拼接字符串
    String sql = "select count(*) from user where 1 = 1 ";
    StringBuilder sb = new StringBuilder(sql);
    //创建一个放value的集合
    List<Object> params = new ArrayList<>();
    Set<String> keys = map.keySet();
    //遍历,得到每一个属性,name,address,email,知道他们的值只有一个,所以取索引0的值
    for (String key : keys) {
        String value = map.get(key)[0];
        //value不能是"" value 不能null,key 不能currentPage
        if (value != null && !value.equals("") && !key.equals("currentPage")) {
            //拼接一定要有空格,不加会出现 where 1=1and key,这种语句错误
            sb.append(" and " + key + " like ? ");
            //不能有空格,不然出现" %vlaue",会查不到
            params.add("%" + value + "%");
        }
    }    return jdbcTemplate.queryForObject(sb.toString(), Integer.class, params.toArray());
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马