1.首先添加必要的依赖
<!-- mybatis spring的支持 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 分页插件 spring支持 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
注意别忘了分页插件的包和分页插件Spring的支持包
2.注入bean配置PageHelper
- 新建类用@Configuration注解配置,在类里新建方法,用@Bean注解配置,设置必须的参数,返回一个PageHelper对象
- 在App类中新建方法,用@Bean注解配置,设置必须的参数,返回一个PageHelper对象
这里用第二种方法
/**
* 注入mybatis 分页插件
*/
@Bean
public PageHelper pageHelper() {
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("offsetAsPageNum", "true");
properties.setProperty("rowBoundsWithCount", "true");
properties.setProperty("reasonable", "true");
pageHelper.setProperties(properties);
return pageHelper;
}
3.配置Mapper扫描包
在App类中添加@MapperScan注解,添加Mapper接口放置的包路径。
4.新建接口用注解的方式配置sql
public interface DemoMapper {
@Select("select * from demo where name = #{name}")
public List<Demo> likeName(String name);
@Select("select * from demo where id = #{id}")
public Demo getById(Integer id);
@Insert("insert into demo(id, name) values(#{id}, #{name})")
public void save(Demo demo);
}
5.分页
PageHelper.startPage(1, 2);
在Controller的方法中添加PageHelper这个方法,就可以实现分页
6.分页原理
PageHelper是作为MyBatis的一个插件进行工作的,实现方式是拦截器,所以要实现分页时用PageHelper实现的静态方法startPage(int pageNum, int pageSize)就可以