Technical note
研发工具-MybatisPageHelper
官网
pom.xml整合
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.11</version>
</dependency>
注意需要更新至最新版,以支持SQL排序
配置拦截器插件
公司框架中MyBatisConfigure.class已配置:
@Bean
public PageInterceptor pageInterceptor() {
PageInterceptor pageInterceptor = new PageInterceptor();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "false");
p.setProperty("pageSizeZero", "true");
pageInterceptor.setProperties(p);
return pageInterceptor;
}
@Bean(
name = {"sqlSessionFactory"}
)
public SqlSessionFactoryBean sqlSessionFactory(@Qualifier("dataSourceRouter") DataSource dataSourceRouter) {
... ...
sqlSessionFactory.setPlugins(new Interceptor[]{this.pageInterceptor()});
... ...
return sqlSessionFactory;
}
基本使用示例
推荐使用PageHelper.startPage方式:
public PageInfo<ThreedutyCheckRecord> findByUnitCode(String unitCode, int pageNum, int pageSize, String orderBy) {
PageHelper.<ThreedutyCheckRecord>startPage(pageNum, pageSize, orderBy);
List<ThreedutyCheckRecord> result = threedutyCheckRecordMapper.findByUnitCode(unitCode);
PageInfo<ThreedutyCheckRecord> page = new PageInfo<>(result);
return page;
}
使用方式详解
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md