-
- @ApiOperation(value = "条件过滤分页查询列表")
- @PostMapping("/list/conditions")
- public ResponseDTO
> getAllUnitManagementsWithConditions( - @RequestBody PageParamDTO queryDTO,
- @RequestParam(required = false) String unitName,
- @RequestParam(required = false) Integer unitLevel) {
-
- return unitManagementService.queryByPageWithConditions2(queryDTO, unitName, unitLevel);
- }
- @Data
- public class PageParamDTO {
-
- @NotNull(message = "分页参数不能为空")
- @ApiModelProperty(value = "页码(不能为空)", example = "1")
- protected Integer pageNum;
-
- @NotNull(message = "每页数量不能为空")
- @ApiModelProperty(value = "每页数量(不能为空)", example = "10")
- @Max(value = 500, message = "每页最大为500")
- protected Integer pageSize;
-
- @ApiModelProperty("是否查询总条数")
- protected Boolean searchCount;
-
- @ApiModelProperty("排序")
- protected List
orders; - }
- @Override
- public ResponseDTO
> queryByPageWithConditions2(PageParamDTO queryDTO, String unitName, Integer unitLevel) { - // 将页面参数转换为查询分页对象
- Page
page = SmartPageUtil.convert2QueryPage(queryDTO); -
- // 调用DAO层方法进行查询
- IPage
userIPage = unitManagementDao.selectPageWithConditions2(page, unitName, unitLevel); - // 将查询结果设置到分页对象中
- page.setRecords(userIPage.getRecords());
-
- // 将分页对象转换为分页结果DTO
- PageResultDTO
pageResultDTO = SmartPageUtil.convert2PageResult(page); -
- // 返回成功响应DTO,并携带分页结果DTO
- return ResponseDTO.succData(pageResultDTO);
- }
-
- <select id="selectPageWithConditions2" resultType="com.sxkj.government.management.module.system.unit.domain.entity.UnitManagementsEntity">
- SELECT *
- FROM t_unit_managements
- <where>
- isdel = 0
- <if test="unitName != null and unitName != ''">
- AND unit_name = #{unitName}
- </if>
- <if test="unitLevel != null">
- AND unit_name LIKE CONCAT('%', #{unitName}, '%')
- </if>
- </where>
- <!-- LIMIT #{page.current}, #{page.size}-->
- </select>
提问:
IPageselectPageWithConditions2( @Param("page") IPagepage, @Param("unitName") String unitName, @Param("unitLevel") Integer unitLevel );IPage
为什么IPage中可以放UnitManagementsEntity,IPage 是类似于List集合吗
T
是UnitManagementsEntity
,意味着这个分页对象将包含UnitManagementsEntity
类型的条目。
IPage
接口通常包括以下几个重要的属性:
List
: 存放当前页的记录列表。records long total
: 总记录数。long size
: 每页显示的记录数。long current
: 当前页。
IPage
在某种程度上类似于Java的List
集合,但它提供了更多用于分页的附加信息。
属性拷贝:
Bean拷贝常用框架使用姿势与性能对比-阿里云开发者社区 (aliyun.com)
链接:
MyBatis-Plus 之分页查询_mybatisplus分页_ITKaven的博客-CSDN博客
MyBatis-plus中的模糊查询解读_java_脚本之家