springboot整合pagehelper实现mybatis分页

1.依赖

		<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.3.1</version>
        </dependency>

2.yml配置

pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  returnPageInfo: check
  params: count=countSql

3.service调用写法

	public List<User> findUserList(Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> users = userMapper.selectList();
        log.info("users size:" + users.size());
        return users;
    }

注意:PageHelper.startPage(pageNum, pageSize);这一行代码后腰紧跟需要分页的mapper方法

4.备用
我在整合的过程中,前期一直没有分页的效果,在网上找教程基本也就是上面几步完成就可以了,但我的一直不行,后来我发现是缺少pagehelper的拦截器插件,如果前三步完成后还是没有分页的效果,可以在加上这一步:在启动类注入拦截器的bean:

	@Bean
	public ConfigurationCustomizer configurationCustomizer() {
		return new ConfigurationCustomizer() {
			@Override
			public void customize(Configuration configuration) {
				configuration.setMapUnderscoreToCamelCase(true); // 根据需要开启驼峰命名转换
				PageInterceptor pageInterceptor = new PageInterceptor();
				Properties properties = new Properties();
				properties.setProperty("helperDialect", "mysql"); // 设置数据库类型
				properties.setProperty("reasonable", "true"); // 分页合理化参数
				pageInterceptor.setProperties(properties);
				configuration.addInterceptor(pageInterceptor);
			}
		};
	}

上边的setProperties基本是与yml文件中加的配置重复的,想留着也可以,删了也行

5.一个bug说明
如果分页过程中提示你sql语法错误,提示你limit关键字前边有一个分号;,那就把sql中结尾的分号删掉试试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值