Mybatis-Plus中使用max、sum聚合函数、只查询指定字段(不查询某些字段)、查询语句多个OR处理

 

 

聚合函数查询

Mysql可以使用以下方法

  QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.select("  IFNULL( max(percent),0) as maxPercent");
        Map<String, Integer> map = getMap(queryWrapper);
        return map.get("maxPercent");

 

postgresql数据库查询写法

  QueryWrapper queryWrapper = new QueryWrapper<>();
        queryWrapper.select("   COALESCE(max(priority) ,0) as maxpriority");
        Map<String, Integer> map = getMap(queryWrapper);
        return map.get("maxpriority");

别名不能用大写,所以这里用的小写 

 

 

只查询指定字段(只查询三个字段)

 queryWrapper.select("content_id","img_url","title")

 

排除某些字段 这表示不查询Content实体类对应的数据库中的content_txt字段

queryWrapper.select(
                Content.class, info ->
                        !info.getColumn().equals("content_txt")
        )

 

 

and后面跟多个or(and (or or or ))

queryWrapper.eq("id", "1");
            queryWrapper.and(wrapper -> {
                searchTitle.forEach(s -> {
                    wrapper.or().like("title", s);
                });
            });

等价 where id=1 and ( title like '%s%' or titile like '%s%');  这里的searchTitle是个集合 

posted @ 2021-10-04 20:41  yvioo  阅读(21331)  评论(0编辑  收藏  举报