mybatisplus查出结果为list中含有map
时间: 2023-05-20 19:01:27 浏览: 417
的情况下,如何将map转换为实体类对象?
可以使用MybatisPlus提供的BeanUtils工具类,将Map转换为实体类对象。具体实现代码如下:
List<Map<String, Object>> resultList = mapper.selectMaps(queryWrapper);
List<User> userList = new ArrayList<>();
for (Map<String, Object> map : resultList) {
User user = new User();
BeanUtils.fillBeanWithMap(map, user, true);
userList.add(user);
}
其中,mapper是MybatisPlus的Mapper对象,queryWrapper是查询条件封装对象,User是实体类对象。使用selectMaps方法查询出结果为List<Map<String, Object>>类型的数据,然后遍历Map集合,使用BeanUtils.fillBeanWithMap方法将Map转换为实体类对象。最后将实体类对象添加到List集合中即可。
相关问题
mybatisplus查出结果为list类型
可以使用Java的泛型来指定查询结果的类型,例如:
```java
List<User> userList = mapper.selectList(wrapper);
```
其中,User是自定义的实体类,mapper是MyBatis-Plus提供的Mapper接口,wrapper是查询条件的封装类。查询结果会以List<User>的形式返回。
mybatisplus 分页返回list controller返回map结果集
可以使用 MybatisPlus 提供的 Page 类来进行分页查询,然后将查询结果转换为 Map 结果集返回给 Controller。示例代码如下:
```java
// 分页查询
Page<User> page = new Page<>(pageNum, pageSize);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
IPage<User> userPage = userService.page(page, queryWrapper);
// 将查询结果转换为 Map 结果集
List<Map<String, Object>> userList = new ArrayList<>();
for (User user : userPage.getRecords()) {
Map<String, Object> userMap = new HashMap<>();
userMap.put("id", user.getId());
userMap.put("name", user.getName());
// 其他属性同理
userList.add(userMap);
}
// 返回 Map 结果集
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("total", userPage.getTotal());
resultMap.put("list", userList);
return resultMap;
```