springboot 集成pagehelper

在springboot 中集成 pagehelper 很简单,只需两步即可.
一、添加依赖
com.github.pagehelper
pagehelper-spring-boot-starter
1.1.1 < 请不要用1.0.0 该版本不支持拦截器插件,选用最新版即可>
查看maven 依赖包 可发现 该包自动依赖分页包 、mybatis包


二、配置分页参数
有两种方式:
1.在application.yml或properties文件中配置。
#pagehelper分页插件配置 此处是yml书写格式
pagehelper:
autoDialect: true
reasonable: true
supportMethodsArguments: true
params: count=countSql
2.采用javaConfig配置
@Bean
public  SqlSessionFactory sqlSessionFactory ( DataSource dataSource )  throws  Exception  {
  final  SqlSessionFactoryBean sqlSessionFactoryBean  =  new  SqlSessionFactoryBean (); 
sqlSessionFactoryBean .setDataSource (dataSource ); 
//配置分页插件
  PageHelper pageHelper  =  new  PageHelper (); 
Properties properties  =  new  Properties (); 
properties .setProperty ( "reasonable" ,  "true" ); 
properties .setProperty ( "supportMethodsArguments" ,  "true" );
 properties .setProperty ( "returnPageInfo" ,  "check" ); 
properties .setProperty ( "params" ,  "count=countSql" );
 pageHelper .setProperties (properties ); 

 sqlSessionFactoryBean .setPlugins ( new  Interceptor []{pageHelper }); 
 sqlSessionFactoryBean .setMapperLocations ( new  PathMatchingResourcePatternResolver ().getResources ("classpath:/**/*.xml" )); 
return sqlSessionFactoryBean .getObject (); 
}
如此配置就可使用分页功能,分页注意事项:
在pageHelper.startpage方法后的第一条查询方法才会被分页
带有for update 行锁的语句,不要使用分页插件,会抛异常



你可能感兴趣的:(springboot)