Spring Boot 2.0.0 集成分页工具 PageHelper 5.1.3 填坑

本文是动态多数据源集成PageHelper分页工具的填坑记录 
动态多数据源见SpringBoot+MyBatis 动态数据源(内附项目地址)


看了很多资料,都是用xml的方式进行配置的,感觉比较繁琐。 
那这里我在方法中去进行配置 
早起的4.0版本是这样配置的

    PageHelper pageHelper = new PageHelper();
    Properties properties = new Properties();
    properties.setProperty("dialect", "mysql");
    properties.setProperty("reasonable", "true");
    properties.setProperty("supportMethodsArguments", "true");
    properties.setProperty("pageSizeZero", "true");
    pageHelper.setProperties(properties);
    sqlSessionFactoryBean.setPlugins(new Interceptor[]{pageHelper});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

那在4.0之后的版本进行了更新,dialect改成了helperDialect,而且也可以不写,PageHelper会自动识别连接的数据库类型。 
同时org.apache.ibatis.plugin.Interceptor的参数也不能再传pageHelper了,提示是类型不匹配 
interceptor
那我们得自己来个新的写法了

@Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dynamicDataSource());

        //PageHelper pageHelper = new PageHelper();
        Properties properties = new Properties();
        //properties.setProperty("helperDialect", "mysql");
        properties.setProperty("reasonable", "true");
        properties.setProperty("supportMethodsArguments", "true");
        properties.setProperty("pageSizeZero", "true");
        //pageHelper.setProperties(properties);

        PageInterceptor interceptor = new PageInterceptor();
        interceptor.setProperties(properties);

        sqlSessionFactoryBean.setPlugins(new Interceptor[]{interceptor});

        sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*Mapper.xml"));
        return sqlSessionFactoryBean;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

最后就可以使用了,例:

    @ApiOperation(value="获取用户列表",notes = "获取所有用户列表", httpMethod = "GET")
    @RequestMapping("/getUsers")
    public ResultData getUsers() {
        PageHelper.startPage(1,3);
        ResultData resultData = new ResultData();
        List<ResultUser> list = userServiceImpl.getAllUsers();
        resultData.setCount(list.size());
        resultData.setData(list);
        return resultData;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值