mybatsi plus 分组统计
时间: 2023-07-18 08:43:18 浏览: 136
MyBatis-Plus支持使用Wrapper或者LambdaQueryWrapper进行分组统计。
示例代码如下:
使用Wrapper进行分组统计:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("age", "count(*) as total").groupBy("age");
List<Map<String, Object>> list = userMapper.selectMaps(wrapper);
```
使用LambdaQueryWrapper进行分组统计:
```java
LambdaQueryWrapper<User> lambdaWrapper = Wrappers.lambdaQuery();
lambdaWrapper.select(User::getAge, SqlKeyword.COUNT.getColumn() + "(*) as total").groupBy(User::getAge);
List<Map<String, Object>> list = userMapper.selectMaps(lambdaWrapper);
```
其中,`selectMaps`方法返回的是`List<Map<String, Object>>`类型的结果集,每个Map对象表示一行记录,其中key为字段名,value为字段值。`SqlKeyword.COUNT.getColumn()`表示统计函数的名称,可以使用其他的统计函数,例如SUM、AVG等。
阅读全文