一,分页查询
sql:分页查询
SELECT * from sys_user limit 0,5; --第一页
--0:第“0”+1开始数据 5:第“5”结束数据
--(2- 1)*5 =5
-- (当前页码-1)*每页显示行数
SELECT * from sys_user limit 5,5; -- 第二页
--(3- 1)*5 =10
SELECT * from sys_user limit 10,5; --第三页
-- 结论: limit 第一个参数 = (pageNum - 1) * pageSize
- 1controller.java
// 分页查询
// 接口路径:/user/page?pageNum = 1&pageSize=10
//@RequestParam 接收
// -- 结论: limit 第一个参数 = (pageNum - 1) * pageSize
// limit 第二个参数pageSize不变
@GetMapping("/page") // 接口路径 /user/page
public List<User> findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize){
pageNum = (pageNum -1) * pageSize;
List<User> data = userMapper.selectPage(pageNum, pageSize);
return data;
}
1.2 Mapper.java
sql 分页查询语句 列: SELECT * from sys_user limit 0,5;
@Select(" select * from sys_user limit #{pageNum},#{pageSize}")
List<User> selectPage(Integer pageNum, Integer pageSize);
二、添加条数 total
2.1 controller.java
@GetMapping("/page") // 接口路径 /user/page
public Map<String, Object>findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize){
pageNum = (pageNum -1) * pageSize;
List<User> data = userMapper.selectPage(pageNum, pageSize);
Integer total = userMapper.selectTocal(); // 查询总条数
Map<String, Object> res = new HashMap<>();
res.put("data",data);
res.put("total",total);
return res;
}
2.2 Mapper.java
@Select("select count(*) from sys_user")
Integer selectTocal();
}
实例效果: