lambdaquerywrapper分页pagehelper查询
时间: 2023-09-07 16:02:04 浏览: 58
lambdaquerywrapper是一个用于构建查询条件的库,可以帮助我们快速灵活地构建各种查询条件。而PageHelper则是一个用于实现分页功能的工具库,可以方便地对查询结果进行分页处理和展示。
在使用lambdaquerywrapper和PageHelper进行分页查询时,我们首先需要使用lambdaquerywrapper构建查询条件。lambdaquerywrapper提供了丰富的方法,可以通过链式调用来构建各种查询条件,包括等于、不等于、大于、小于等比较条件,还可以进行and和or的逻辑组合。通过lambdaquerywrapper构建好查询条件后,我们可以调用PageHelper的startPage方法来指定当前页码和每页的数据条数。
在开始分页查询之后,PageHelper会自动根据我们传入的参数进行分页处理,并将查询结果封装为一个Page对象。Page对象中包含了当前页的数据集合,以及有关分页信息的一些属性,比如总记录数、总页数等。我们可以通过Page对象来获取分页信息,并对查询结果进行展示或其他操作。
在进行分页查询时,我们可以根据需要在lambdaquerywrapper中设置多个查询条件,来实现更加精确的查询。而PageHelper则可以帮助我们简化分页逻辑的处理,减少开发工作量,提高开发效率。使用lambdaquerywrapper和PageHelper进行分页查询,可以让我们更加方便地进行数据检索和展示,提升用户体验。
相关问题
MyBatis有分页查询、条件构造器吗
是的,MyBatis有分页查询和条件构造器。分页查询可以使用RowBounds或PageHelper插件实现,条件构造器可以使用MyBatis-Plus或MyBatis-Plus提供的LambdaQueryWrapper实现。
@Override public Page<SysUserPolicyEntity> selectInsured(GrpnameForm data, int current, int pageSize) { //查询 String employeeNo = data.getEmployeeNo(); String grpname = data.getGrpname(); List<SysUserPolicyEntity> lcgrpcontVoPage = lcgrpcontMapper.selectInsured(grpname); LambdaQueryWrapper<SysUserPolicyEntity> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ObjectUtils.isNotEmpty(employeeNo), SysUserPolicyEntity::getEmployeeNo, employeeNo); List<SysUserPolicyEntity> sysUserPolicyEntityList = sysUserPolicyMapper.selectList(wrapper); for (SysUserPolicyEntity record : lcgrpcontVoPage) { for (SysUserPolicyEntity policyEntity : sysUserPolicyEntityList) { if (record.getGrpcontno().equals(policyEntity.getGrpcontno())) { record.setSelectFlag(policyEntity.getSelectFlag()); } } } sysUserPolicyMapper.delete(wrapper); Page<SysUserPolicyEntity> objectPage = new Page<>(); objectPage.setRecords(lcgrpcontVoPage); objectPage.setCurrent(current); objectPage.setSize(pageSize); objectPage.setTotal(lcgrpcontVoPage.size()); return objectPage; }按照分页放入数据
可以使用PageHelper插件来实现分页,具体代码如下:
```
@Override
public Page<SysUserPolicyEntity> selectInsured(GrpnameForm data, int current, int pageSize) {
//查询
String employeeNo = data.getEmployeeNo();
String grpname = data.getGrpname();
List<SysUserPolicyEntity> lcgrpcontVoPage = lcgrpcontMapper.selectInsured(grpname);
LambdaQueryWrapper<SysUserPolicyEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ObjectUtils.isNotEmpty(employeeNo), SysUserPolicyEntity::getEmployeeNo, employeeNo);
List<SysUserPolicyEntity> sysUserPolicyEntityList = sysUserPolicyMapper.selectList(wrapper);
for (SysUserPolicyEntity record : lcgrpcontVoPage) {
for (SysUserPolicyEntity policyEntity : sysUserPolicyEntityList) {
if (record.getGrpcontno().equals(policyEntity.getGrpcontno())) {
record.setSelectFlag(policyEntity.getSelectFlag());
}
}
}
sysUserPolicyMapper.delete(wrapper);
//使用PageHelper插件进行分页
PageHelper.startPage(current, pageSize);
List<SysUserPolicyEntity> list = new ArrayList<>(lcgrpcontVoPage);
PageInfo<SysUserPolicyEntity> pageInfo = new PageInfo<>(list);
return pageInfo;
}
```
其中,PageHelper.startPage(current, pageSize)表示开始分页,current表示当前页码,pageSize表示每页显示的数量。PageInfo<SysUserPolicyEntity> pageInfo = new PageInfo<>(list)表示将分页后的数据封装到PageInfo对象中。最后返回pageInfo即可。