[关闭]
@liruiyi962464 2024-03-05T03:22:30.000000Z 字数 1179 阅读 72

jeecg分页查询后 替换分页里边的集合对象(其他对象)

jeecg
在Jeecg框架中,如果你想在分页查询后替换分页结果集合中的对象(不是原始实体对象,而是其他对象),你需要自定义一个方法来处理分页数据。下面是一个步骤说明,以及如何实现这一功能:

  1. 执行分页查询,获取IPage对象。
  1. Page<User> page = new Page<>(1, 10); // 假设每页显示10条记录
  2. IPage<User> userPage = userMapper.selectPage(page, null); // 调用Mapper方法进行分页查询
  1. 创建一个新的列表,用于存储转换后的对象。
  1. List<OtherObject> otherObjects = new ArrayList<>();
  1. 遍历分页结果集合,将每个实体对象转换为你想要的其他对象,并添加到新列表中。
  1. for (User user : userPage.getRecords()) {
  2. // 创建并填充OtherObject
  3. OtherObject otherObject = new OtherObject();
  4. otherObject.setId(user.getId());
  5. otherObject.setName(user.getName());
  6. // ... 设置其他属性,这些属性可能不同于User实体
  7. // 将转换后的对象添加到列表中
  8. otherObjects.add(otherObject);
  9. }
  1. 如果你希望将转换后的对象列表重新设置回IPage对象,你可以创建一个新的Page对象,并将转换后的列表设置为它的记录。但是,请注意,IPage对象通常是由MyBatis-Plus分页插件自动填充的,因此重新设置它的记录可能不会保留分页插件添加的额外信息(如总记录数)。如果你需要这些信息,你可能需要手动设置它们。
  1. // 创建一个新的Page对象,包含转换后的列表
  2. Page<OtherObject> otherObjectPage = new Page<>(page.getCurrent(), page.getSize(), otherObjects);
  3. // 如果需要,手动设置总记录数(这通常是从数据库查询得到的)
  4. otherObjectPage.setTotal(userPage.getTotal());
  1. 最后,你可以返回这个新的Page对象,它包含了转换后的对象列表。
  1. return otherObjectPage;

在实际应用中,你可能需要根据具体的需求来调整这个过程。例如,如果你不需要保留原始IPage对象的所有信息,你可以简单地返回一个包含转换后对象的List。如果你需要保留分页信息(如总页数、总记录数等),你可能需要创建一个自定义的分页对象来封装这些信息。

请注意,这里的OtherObject是一个假设的类,你需要替换为你实际想要使用的类。同样,User也应该替换为你的实际实体类。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注