Spring Boot中整合PageHelper

本文參考自: 原文地址

        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;
 }
}


發佈了39 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章