使用 MybatisPlus 分页时如何临时不进行分页?

使用 MybatisPlus 分页时如何临时不进行分页?

场景

像下面这个分页接口

List<BaseHouseOfficerVo> pageByParam(@Param("page") Page<BaseHouseOfficerVo> page, @Param("en") BaseHouseOfficerVo baseHouseOfficerVo);

试了一下不传 Page 调用

baseMapper.pageByParam(null, entity);

结果炸了。。。

错误信息

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.NullPointerException
### Cause: java.lang.NullPointerException
阅读 13.6k
2 个回答

你定义mapper方法的时候直接
List<BaseHouseOfficerVo> pageByParam@Param("en") BaseHouseOfficerVo baseHouseOfficerVo);
不就好了不要传null 声明方法的时候就不入page这个参数。
或者你假如有些地方要分有些地方不分,你mapper 用个多态

官方文档 image.png

改造mapper方法的返回值,使其返回为list,再手动设置recoreds
比如传入参数都为-1时不分页(page传null)
mapper方法
List<?> selectPage(Ipage<?> page);
service中
page.setRecords(baseMapper.selectPage((page.getSize() == -1 && page.getCurrent() == -1) ? null :page);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题