一、MybatisPlus簡介
MybatisPlus是Mybatis的一個增強工具,在Mybatis的基礎上封裝了更多的CRUD操作,提供了更加便捷的介面和一些增強功能,比如分頁查詢、邏輯刪除等。
MybatisPlus的分頁查詢功能非常強大,可以使用基本的分頁查詢、自定義分頁查詢、多表關聯分頁查詢等多種方式實現高效的分頁查詢。
二、基本使用
MybatisPlus的基本分頁查詢非常簡單,只需要在mybatis-plus-boot-starter中加入依賴就可以直接使用Page分頁對象。
//定義分頁條件
Page<User> page = new Page(1,10);
//進行分頁查詢
IPage<User> userPage = userService.page(page);
//獲取分頁結果
List<User> userList = userPage.getRecords();
以上代碼實現了一個簡單的分頁查詢,其中Page對象傳入兩個參數,分別是當前頁數和每頁顯示條數,接著使用Page對象進行分頁查詢,最後通過IPage對象獲取分頁結果。
三、自定義分頁查詢
在實際項目中,經常需要按照多個條件進行分頁查詢,此時可以使用MybatisPlus提供的QueryWrapper類,自定義分頁查詢條件。
//定義分頁條件
Page<User> page = new Page(currentPage,pageSize);
//定義查詢條件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status",1);
queryWrapper.gt("age",18);
//進行分頁查詢
IPage<User> userPage = userService.page(page,queryWrapper);
//獲取分頁結果
List<User> userList = userPage.getRecords();
以上代碼實現了一個帶有條件的分頁查詢,其中QueryWrapper類使用eq和gt方法分別定義了查詢條件,然後在分頁查詢中傳入QueryWrapper對象即可。
四、多表關聯分頁查詢
在實際項目中,經常需要進行多表關聯查詢,此時可以使用MybatisPlus提供的Wrapper類,自定義多表關聯查詢條件。
//定義分頁條件
Page<UserOrderVO> page = new Page(1,10);
//定義查詢條件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status",1);
queryWrapper.gt("age",18);
//定義關聯關係
queryWrapper.inSql("id","select user_id from order where status=0");
//進行分頁查詢
IPage<UserOrderVO> userOrderPage = userService.selectUserOrderPage(page,queryWrapper);
//獲取分頁結果
List<UserOrderVO> userOrderList = userOrderPage.getRecords();
以上代碼實現了一個簡單的多表關聯分頁查詢,其中Wrapper類使用inSql方法定義了關聯關係,然後在自定義分頁查詢中傳入Wrapper對象即可。
五、其他功能
MybatisPlus除了以上介紹的基本使用、自定義分頁查詢和多表關聯分頁查詢外,還提供了很多其他的增強功能,比如邏輯刪除、注入器等。
如果需要使用這些增強功能,請在pom.xml中加入相應的依賴,並在MybatisPlus的配置文件中啟用相應功能即可。
參考資料
1. MybatisPlus官方文檔:https://mp.baomidou.com/
2. MybatisPlus官方GitHub:https://github.com/baomidou/mybatis-plus
原創文章,作者:AGXW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/135742.html