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);
文章介绍了如何利用Mybatis-Plus框架进行复杂查询,包括计算不同用户名的数量(使用COUNT和DISTINCT),以及通过Lambda表达式和QueryWrapper设置条件(如IS_DELETED和IS_ENABLED)。此外,还展示了如何选择特定字段(如user_id和user_name)并进行聚合函数(如COUNT和SUM)操作,以及将查询结果映射到Map或实体类中。


被折叠的 条评论
为什么被折叠?



