本文参考自: 原文地址
SpringBoot框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,从而使开发人员不再需要定义样板化的配置,所以整合PageHelper也愈加方便。
Spring boot version:2.0.3.RELEASE
PageHelper version:4.1.1
1、先在POM文件中引入PageHelper依赖包
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.1</version>
</dependency>
2、在Spring Boot的配置文件中,添加PageHelper Bean
@Bean
public PageHelper pageHelper(){
//分页插件
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);
return pageHelper;
}
3、在SqlSessionFactoryBean中设置PageHelper拦截器
@Configuration
@MapperScan(basePackages = {"com.xdb.dao"}, sqlSessionFactoryRef = "sqlSessionFactoryDB")
public class MybatisConfig {
@Autowired
@Qualifier("datasourceDB")
private DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactoryDB() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
factoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:com/xdb/dao/mappers/*.xml"));
//添加PageHelper插件
factoryBean.setPlugins(new Interceptor[]{pageHelper()});
return factoryBean.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplateCreate() throws Exception {
SqlSessionTemplate template = new SqlSessionTemplate(sqlSessionFactoryDB());
return template;
}
@Bean
public PageHelper pageHelper(){
//分页插件
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);
return pageHelper;
}
}