SpringBoot-MyBatisPlus如何从数据库中查询两列字段分别封装到Map中,其中一列为map的键,另一列为值?
时间: 2023-12-10 16:40:12 浏览: 217
MyBatis-Plus 查询返回实体对象还是map
可以使用 MyBatis-Plus 提供的 `selectMaps` 方法来实现查询两列字段分别封装到 Map 中的需求。
具体实现步骤如下:
1. 创建一个 MyBatisPlus 的 QueryWrapper 对象,用于构造查询条件。
2. 调用 MyBatisPlus 的 `selectMaps` 方法,该方法会返回一个 List<Map<String, Object>> 对象,其中每个 Map 对象表示一条记录,Map 的 key 表示字段名,value 表示字段值。
3. 设置 selectMaps 方法的参数,包括要查询的字段名和查询条件等。
下面是一个示例代码:
```java
// 创建 QueryWrapper 对象
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("id", "name");
// 调用 selectMaps 方法查询数据
List<Map<String, Object>> list = userMapper.selectMaps(wrapper);
// 遍历结果集,将每条记录的 id 和 name 封装到 Map 中
Map<Integer, String> resultMap = new HashMap<>();
for (Map<String, Object> map : list) {
Integer id = (Integer) map.get("id");
String name = (String) map.get("name");
resultMap.put(id, name);
}
```
在上面的示例中,我们查询了 User 表中的 id 和 name 两列字段,并将它们分别封装到 Map 中,其中 id 作为 Map 的键,name 作为值。最终得到的 resultMap 就是我们需要的结果。
阅读全文