Categories: MyBatis-Plus 教程

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,即给于表一个别名,字段也要 ​别名.字段

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

5 天 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

1 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

2 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

3 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

4 周 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

4 周 ago