mybatisplus 分组统计数量
时间: 2023-09-02 08:05:34 浏览: 551
mybatis-plus分页查询
MyBatis-Plus 提供了方便的统计查询 API,可以通过 `com.baomidou.mybatisplus.core.conditions.query.QueryWrapper` 类的 `groupBy` 和 `select` 方法来实现分组统计数量。
下面是一个示例代码:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("gender, count(*) as cnt").groupBy("gender");
List<Map<String, Object>> result = userMapper.selectMaps(queryWrapper);
```
上述代码中,我们定义了一个 `QueryWrapper` 对象,并使用 `select` 方法指定了需要查询的字段,其中 `count(*) as cnt` 表示对分组后的结果进行计数,并将结果别名为 `cnt`。然后使用 `groupBy` 方法指定了按 `gender` 字段进行分组。
最后,我们使用 `userMapper.selectMaps` 方法执行查询,并将查询结果保存为 `List<Map<String, Object>>` 类型的对象。其中,每个 Map 对象表示一行记录,键值对分别为查询字段和对应的值。
注意,如果要使用分组统计数量,需要将结果集设置为 MAP 类型。如果使用 Entity 类型返回结果,将会抛出异常。
阅读全文