Springboot 中使用PageHelper

281 阅读1分钟

SpringBoot 集成PageHelper:

github 分页插件地址 : github.com/pagehelper/…

第一步:pom文件引入依赖


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

第二步:设置PageHelper 属性

目前Pagehelper插件支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页,不同数据库只需

在配置文件中配置

pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.pageSizeZero=true
pagehelper.params.count=countSql

或者在代码中

	//配置mybatis的分页插件pageHelper
	@Bean
	public PageHelper pageHelper(){
		PageHelper pageHelper = new PageHelper();
		Properties properties = new Properties();
		properties.setProperty("offsetAsPageNum","true");
		properties.setProperty("rowBoundsWithCount","true");
		properties.setProperty("reasonable","true");
		properties.setProperty("dialect","mysql");    //配置mysql数据库的方言
		pageHelper.setProperties(properties);
		return pageHelper;
	}

查询

	@RequestMapping("findUser")
	public PageInfo<User> findUser(int page, int pagerSize) {
		PageInfo<User> userList = userService.findAllUsers(page,pagerSize);
		return userList;
	}

service

分页查询只需将当前查询的页数和每页显示的条数穿进去即可。

	public PageInfo<User> findAllUsers(int page, int pageSize) {

		  //为了程序的严谨性,判断非空:
		  if(page == 0){
				 page = 1;   //设置默认当前页
			  }
		  if(page <= 0){
				 page = 1;
			  }
		  if(pageSize == 0){
			  pageSize = 30;    //设置默认每页显示的商品数
			 }

		// 1 设置分页信息,包括当前页数和每页显示的总计数
		PageHelper.startPage(page,pageSize);
		//2 执行查询
		List<User> list = userMapper.findAll();
		//3 获取分页查询后的数据
		PageInfo<User> pageInfo = new PageInfo<>(list);

		return pageInfo;

	}

debug信息
在这里插入图片描述