分頁查詢
- 在controller中添加新方法 分頁查詢
//分頁查詢
//@RequestParam接受 ?pageNum=1&pageSize=10
//limit第一個(gè)參數(shù) = (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中寫對(duì)應(yīng)方法的sql
@Select("select * from user limit #{pageNum}, #{pageSize}")
List<User> selectPage(Integer pageNum, Integer pageSize);
改進(jìn): 加上統(tǒng)計(jì)表內(nèi)元素個(gè)數(shù)
- controller中進(jìn)行修改, 將List改成Map, 收集數(shù)據(jù)庫的數(shù)據(jù)和數(shù)據(jù)庫里有多少條元素
//分頁查詢
//@RequestParam接受 ?pageNum=1&pageSize=10
//limit第一個(gè)參數(shù) = (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);//查詢數(shù)據(jù)
Integer total = userMapper.selectTotal(); //查詢條數(shù)
Map<String, Object> res = new HashMap<>(); //封裝結(jié)果參數(shù)
res.put("data",data);//數(shù)據(jù)
res.put("total",total);//條數(shù)
return res;
}
- mapper里加上相應(yīng)的sql
@Select("select count(*) from user")
Integer selectTotal();
-
與前端綁定數(shù)據(jù)(該項(xiàng)目前端使用的是vue框架和element-ui組件)
el-table 下 el-pagination 里面的total, page-size都要改
image.png