1、添加依赖
<!--分页依赖-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
2、配置yml分页插件
spring:
#配置分页
main:
allow-circular-references: true
##配置mybatis
mybatis:
# mapper映射文件包扫描
mapper-locations: classpath:/mapper/*.xml
# 实体类别名包扫描
type-aliases-package: com.yka.pojo
3、测试
1、pojo user实体类
@Data
public class User {
private Long id;
private String name;
private Integer age;
private Integer sex;
private String email;
}
2、mapper接口
@Mapper //该注解就可以不用在配置类中扫描mapper接口包了
public interface UserMapper{
List<User> selectAllName();
}
3、定义mapper.xml映射文件
在resource下新建mappers文件夹,mapper.xml文件名没有要求了,不需要和接口名完全对应了,是根据namespace去找接口。但是最好还是和接口名字保持一致
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.buba.mappers.TestMapper">
<select id="selectAllName" resultType="com.yka.pojo.User">
select * from t_user
</select>
</mapper>
4、service层
public interface UserService {
PageInfo<User> selectAllName(Integer pageNum, Integer pageSize);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userManager;
@Override
public PageInfo<User> selectAllName(Integer pageNum,Integer pageSize) {
//pageNum:当前页的页码想要显示展示第几页,pageSize:每页显示的条数
PageHelper.startPage(pageNum,pageSize);
List<User> list = userManager.selectAllName();
PageInfo<User> pageInfo = new PageInfo<>(list);
return pageInfo;
}
}
5、controller层
@RestController
@RequestMapping("/test")
public class TestController {
@Autowired
private UserService userService;
@RequestMapping("/user")
public List<User> test(Integer pageNum,Integer pageSize){
PageInfo<User> pageInfo = userService.selectAllName(pageNum, pageSize);
List<User> list = pageInfo.getList();
System.out.println("pageInfo:"+pageInfo);
return list;
}
}