一.前言
上篇博客中介绍了spring boot集成mybatis的方法,基于上篇文章这里主要介绍如何使用分页插件PageHelper。在MyBatis中提供了拦截器接口,我们可以使用PageHelp最为一个插件装入到SqlSessionFactory,实现拦截器功能。(新手的话按照我这个就可以实现分页,如果项目中有设置SqlSessionFactoryBean,请注意下面的东西用该放到SqlSessionFactoryBean 配置里面)
二.实现
pom.xml文件中添加依赖包
- <dependency>
- <groupId>com.github.pagehelper</groupId>
- <artifactId>pagehelper</artifactId>
- <version>4.1.0</version>
- </dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.0</version>
</dependency>
创建MybatisConf类
- package com.woniu.mybatisconf;
- import java.util.Properties;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import com.github.pagehelper.PageHelper;
- /*
- * 注册MyBatis分页插件PageHelper
- */
- @Configuration
- public class MybatisConf {
- @Bean
- public PageHelper pageHelper() {
- System.out.println(“MyBatisConfiguration.pageHelper()”);
- PageHelper pageHelper = new PageHelper();
- Properties p = new Properties();
- p.setProperty(“offsetAsPageNum”, “true”);
- p.setProperty(“rowBoundsWithCount”, “true”);
- p.setProperty(“reasonable”, “true”);
- pageHelper.setProperties(p);
- return pageHelper;
- }
- }
package com.woniu.mybatisconf;
import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
/*
* 注册MyBatis分页插件PageHelper
*/
@Configuration
public class MybatisConf {
@Bean
public PageHelper pageHelper() {
System.out.println("MyBatisConfiguration.pageHelper()");
PageHelper pageHelper = new PageHelper();
Properties p = new Properties();
p.setProperty("offsetAsPageNum", "true");
p.setProperty("rowBoundsWithCount", "true");
p.setProperty("reasonable", "true");
pageHelper.setProperties(p);
return pageHelper;
}
}
这时就可以使用PageHelp插件了,在controller中直接使用。
- package com.woniu.controller;
- import java.util.List;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import com.github.pagehelper.PageHelper;
- import com.woniu.bean.User;
- import com.woniu.mapper.UserMaper;
- @RestController
- @RequestMapping(“/web”)
- public class WebController {
- @Autowired
- private UserMaper mapper;
- @RequestMapping(“/index”)
- public List<User> selectAge(int age){
- /*
- * 第一个参数是第几页;第二个参数是每页显示条数。
- */
- PageHelper.startPage(1,2);
- return mapper.Select(age);
- }
- }
package com.woniu.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.pagehelper.PageHelper;
import com.woniu.bean.User;
import com.woniu.mapper.UserMaper;
@RestController
@RequestMapping("/web")
public class WebController {
@Autowired
private UserMaper mapper;
@RequestMapping("/index")
public List<User> selectAge(int age){
/*
* 第一个参数是第几页;第二个参数是每页显示条数。
*/
PageHelper.startPage(1,2);
return mapper.Select(age);
}
}