本文為mybatis系列檔案的第4篇,前三篇請訪問下面的網址,
- 小書MybatisPlus第1篇-整合SpringBoot快速開始增刪改查
- 小書MybatisPlus第2篇-條件構造器的應用及總結
- 小書MybatisPlus第3篇-自定義SQL
一、讓Spring Boot-MybatisPlus支持分頁
在已經集成了Mybatis Plus的Spring專案中加入如下分頁攔截器的配置,讓MybatisPlus支持分頁
@Configuration
public class MybatisPlusConfiguration {
//配置分頁攔截器
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
二、單表查詢分頁-表格分頁
@Test
public void testSelect() {
LambdaQueryWrapper<User> query = new LambdaQueryWrapper<>();
query.ge(User::getAge,10) //查詢條件:年齡大于10
.orderByDesc(User::getAge); //按照年齡的倒序排序
Page<User> page = new Page<> (1,10); //查詢第1頁,每頁10條資料
userMapper.selectPage(page,query); //page分頁資訊,query查詢條件
System.out.println("總頁數:"+ page.getPages());
System.out.println("總記錄數:"+ page.getTotal());
// 分頁回傳的物件與傳入的物件是同一個
List<User> list = page.getRecords();
list.forEach(System.out::println);
}
查詢輸出結果如下:
總頁數:1
總記錄數:6
User(id=3, name=Tom, age=28, [email protected])
User(id=5, name=Billie, age=24, [email protected])
User(id=4, name=Sandy, age=21, [email protected])
User(id=2, name=Jack, age=20, [email protected])
User(id=1, name=Jone, age=18, [email protected])
User(id=1280261858003038209, name=字母哥, age=18, email=null)
在分頁查詢程序中,一共執行了兩條SQL
# 第一條SQL用于查詢在query條件下的總條數
SELECT COUNT(1) FROM user WHERE age >= ?
# 第二條SQL用于查詢具體的資料
SELECT id,name,age,email
FROM user
WHERE age >= ?
ORDER BY age DESC
LIMIT ?,?
這種分頁方式比較適合于傳統應用中,表格分頁的開發,需要給出總條數,以及每頁多少條,

三、不查詢總記錄數的分頁-下拉分頁
在一些現代的互聯網資訊網站,或者應用app,通常不會給出資料的總條數,而是通過滑鼠或者手勢,每次下拉都加載n條資料,

這種情況下的分頁通常就不需要查詢總條數了,如果查詢總條數浪費資料庫的計算資源,使回應時間變長,所以我們應該只做分頁資料查詢,不查詢總條數,設定page分頁的第三個引數為false,

輸出結果總頁數和總條數都是0,但是分頁資料正常查詢回來了,
總頁數:0
總記錄數:0
User(id=3, name=Tom, age=28, [email protected])
User(id=5, name=Billie, age=24, [email protected])
User(id=4, name=Sandy, age=21, [email protected])
User(id=2, name=Jack, age=20, [email protected])
User(id=1, name=Jone, age=18, [email protected])
User(id=1280261858003038209, name=字母哥, age=18, email=null)
只執行了這樣一個SQL
ELECT id,name,age,email
FROM user
WHERE age >= ?
ORDER BY age DESC
LIMIT ?,?
歡迎關注我的博客,里面有很多精品合集
- 本文轉載注明出處(必須帶連接,不能只轉文字):字母哥博客,
覺得對您有幫助的話,幫我點贊、分享!您的支持是我不竭的創作動力! ,另外,筆者最近一段時間輸出了如下的精品內容,期待您的關注,
- 《手摸手教你學Spring Boot2.0》
- 《Spring Security-JWT-OAuth2一本通》
- 《實戰前后端分離RBAC權限管理系統》
- 《實戰SpringCloud微服務從青銅到王者》
- 《VUE深入淺出系列》
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/142937.html
標籤:Java
下一篇:JVM類加載機制
