mybatis-plus 返回多个map 再转Map
时间: 2023-06-04 17:08:46 浏览: 405
可以使用Java8的Stream API将多个Map合并成一个Map。具体代码如下:
```
List<Map<String, Object>> list = mapper.selectMaps(wrapper);
Map<String, Object> result = list.stream().flatMap(map -> map.entrySet().stream())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
```
其中,`mapper`是Mybatis-plus的Mapper对象,`wrapper`是查询条件对象,`selectMaps`方法返回多个Map。`flatMap`方法用于将多个Map合并成一个Stream,`toMap`方法用于将Stream转换成一个Map。最终得到的`result`就是合并后的Map。
相关问题
mybatis-plus groupby 返回map
的结果,怎么获取其中的值?
如果您想获取 mybatis-plus groupby 返回 map 的结果中的值,可以使用 Map 的 get 方法。您需要提供一个键(即列名),以获取对应的值。示例代码如下:
```
Map<String, Object> result = mybatisPlusMapper.selectMaps(new QueryWrapper<User>().select("id", "name").groupBy("age")).get(0);
Object age = result.get("age");
```
这将从返回的 map 中获取 age 列的值,并将其存储在一个 Object 类型的变量中。请注意,此示例代码仅获取了第一个元素的结果,您还可以通过循环获取所有结果。
mybatis-plus.configuration.map-underscore-to-camel-case=false
这个配置项用于控制 MyBatis-Plus 是否将数据库中的下划线命名转换为驼峰命名。当设置为 `false` 时,MyBatis-Plus 不会进行自动的下划线转驼峰处理;当设置为 `true` 时,MyBatis-Plus 会自动将数据库中的下划线命名转换为驼峰命名。在你提供的配置中,`map-underscore-to-camel-case` 设置为 `false`,表示 MyBatis-Plus 不会进行下划线转驼峰处理。这意味着如果你的数据库表或字段使用下划线命名,那么在使用 MyBatis-Plus 进行数据库操作时,你需要使用与数据库中的实际命名相对应的驼峰命名。
阅读全文