codecamp

MyBatis-Plus 插件-分页插件

PaginationInnerInterceptor

支持的数据库

  • mysql,oracle,db2,h2,hsql,sqlite,postgresql,sqlserver,Phoenix,Gauss ,clickhouse,Sybase,OceanBase,Firebird,cubrid,goldilocks,csiidb
  • 达梦数据库,虚谷数据库,人大金仓数据库,南大通用(华库)数据库,南大通用数据库,神通数据库,瀚高数据库

属性介绍

 属性名  类型  默认值  描述
 overflow  boolean  false  溢出总页数后是否进行处理,默认不处理
 maxLimit  Long    单页分页条数限制,默认无限制
 dbType  DbType    数据库类型,根据类型获取应使用的分页方言
 dialect  IDialect    方言实现类

建议单一数据库类型的均设置 ​dbType

自定义的 mapper#method 使用分页

IPage<UserVo> selectPageVo(IPage<?> page, Integer state);
// or (class MyPage extends Ipage<UserVo>{ private Integer state; })
MyPage selectPageVo(MyPage page);
// or
List<UserVo> selectPageVo(IPage<UserVo> page, Integer state);
<select id="selectPageVo" resultType="xxx.xxx.xxx.UserVo">
    SELECT id,name FROM user WHERE state=#{state}
</select>

  • 如果返回类型是 ​IPage则入参的 ​IPage不能为​null​,因为 返回的​IPage ==​ 入参的​IPage
  • 如果返回类型是 ​List则入参的 ​IPage可以为 ​null(为 ​null则不分页),但需要你手动 入参的​IPage.setRecords​(返回的 ​List​);
  • 如果 ​xml​需要从 ​page里取值,需要 ​page.属性​ 获取

其他:

  • 生成 ​countSql会在 ​left join​ 的表不参与 ​where条件的情况下,把 ​left join​ 优化掉
  • 所以建议任何带有 ​left join​ 的sql,都写标准sql,即给于表一个别名,字段也要 ​别名.字段


MyBatis-Plus 插件-插件主体
MyBatis-Plus 插件-乐观锁插件
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }