分页查询
- 在controller中添加新方法 分页查询
//分页查询
//@RequestParam接受 ?pageNum=1&pageSize=10
//limit第一个参数 = (pageNum - 1)* pageSize
@GetMapping("/page") // 接口路径: /user/page
public List<User> findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize){
pageNum = (pageNum - 1) * pageSize;
return userMapper.selectPage(pageNum, pageSize);
}
- 在mapper中写对应方法的sql
@Select("select * from user limit #{pageNum}, #{pageSize}")
List<User> selectPage(Integer pageNum, Integer pageSize);
改进: 加上统计表内元素个数
- controller中进行修改, 将List改成Map, 收集数据库的数据和数据库里有多少条元素
//分页查询
//@RequestParam接受 ?pageNum=1&pageSize=10
//limit第一个参数 = (pageNum - 1)* pageSize
@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.selectTotal(); //查询条数
Map<String, Object> res = new HashMap<>(); //封装结果参数
res.put("data",data);//数据
res.put("total",total);//条数
return res;
}
- mapper里加上相应的sql
@Select("select count(*) from user")
Integer selectTotal();
-
与前端绑定数据(该项目前端使用的是vue框架和element-ui组件)
el-table 下 el-pagination 里面的total, page-size都要改