mybatis-plus使用sum,count,distinct等函数的方法

通过mybatis-plus实现以下sql查询

SELECT COUNT(DISTINCT user_name)
FROM user_info
WHERE is_deleted=0 AND is_enabled = 1
mybatis-plus实现
int count = this.count(Wrappers.<User>query()
                .select("DISTINCT user_name")
                .lambda()
                .eq(User::getIsEnabled, 1));

//或者
int count1 = this.count(Wrappers.<User>query()
                .select("DISTINCT user_name")
                .eq("is_enabled", 1));
QueryWrapper<User> wrapper1 = new QueryWrapper<>();
        wrapper1.select("distinct user_id,user_name ")
                .in("user_id","1,2,3");
List<User> list1 = this.list(wrapper1);
QueryWrapper<User> wrapper1 = new QueryWrapper<>();
        wrapper1.select("count(user_id) as userids",
                "sum(age) as ages")
                .in("user_id","1,2,3");
Map<String, Object> map = this.getMap(wrapper1);
map.get("userids");
//也可以将map转换为实体类,只不过字段需要对应
JSON.parseObject(JSON.toJSONString(map), ScoreData.class);
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐