MyBatis-Plus 插件-分頁插件

2022-03-25 14:30 更新

PaginationInnerInterceptor

支持的數(shù)據(jù)庫

  • mysql,oracle,db2,h2,hsql,sqlite,postgresql,sqlserver,Phoenix,Gauss ,clickhouse,Sybase,OceanBase,F(xiàn)irebird,cubrid,goldilocks,csiidb
  • 達(dá)夢數(shù)據(jù)庫,虛谷數(shù)據(jù)庫,人大金倉數(shù)據(jù)庫,南大通用(華庫)數(shù)據(jù)庫,南大通用數(shù)據(jù)庫,神通數(shù)據(jù)庫,瀚高數(shù)據(jù)庫

屬性介紹

 屬性名  類型  默認(rèn)值  描述
 overflow  boolean  false  溢出總頁數(shù)后是否進(jìn)行處理,默認(rèn)不處理
 maxLimit  Long    單頁分頁條數(shù)限制,默認(rèn)無限制
 dbType  DbType    數(shù)據(jù)庫類型,根據(jù)類型獲取應(yīng)使用的分頁方言
 dialect  IDialect    方言實(shí)現(xiàn)類

建議單一數(shù)據(jù)庫類型的均設(shè)置 ?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則入?yún)⒌?nbsp;?IPage不能為?null?,因?yàn)?nbsp;返回的?IPage ==? 入?yún)⒌?IPage ?
  • 如果返回類型是 ?List則入?yún)⒌?nbsp;?IPage可以為 ?null(為 ?null則不分頁),但需要你手動(dòng) 入?yún)⒌?IPage.setRecords?(返回的 ?List?);
  • 如果 ?xml?需要從 ?page里取值,需要 ?page.屬性? 獲取

其他:

  • 生成 ?countSql會在 ?left join? 的表不參與 ?where條件的情況下,把 ?left join? 優(yōu)化掉
  • 所以建議任何帶有 ?left join? 的sql,都寫標(biāo)準(zhǔn)sql,即給于表一個(gè)別名,字段也要 ?別名.字段?


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號