MyBatisPlus+Lombok實(shí)現(xiàn)分頁功能的方法詳解
一、Lombok
從上一篇博客可看出,DAO接口類的編寫變得簡(jiǎn)單,反過來看模型,編寫還需要(私有屬性、setter...getter...方法、toString方法、構(gòu)造函數(shù)等內(nèi)容),對(duì)于模型類有什么優(yōu)化方法,可以用Lombok。
概念:Lombok,一個(gè)Java類庫(kù),提供了一組注解,簡(jiǎn)化POJO實(shí)體類開發(fā)。
使用步驟
1、添加Lombok依賴
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!--<version>1.18.12</version>-->
</dependency>
注意:版本可以不寫,因?yàn)镾pringBoot已經(jīng)管理了lombok版本。
2、安裝Lombok插件
新版本的IDEA已經(jīng)內(nèi)置類該插件,如果刪除setter和getter方法程序會(huì)報(bào)紅,則需要安裝插件。

如果找不到Lombok插件,可以訪問如下網(wǎng)站
https://plugins.jetbrains.com/plugin/6317-lombok/versions
根據(jù)字節(jié)IDEA的版本下載對(duì)應(yīng)的Lombok版本,下載成功后,在IDEA中采用離線安裝的方式進(jìn)行安裝

選擇這個(gè)位置的選擇進(jìn)行離線安裝,進(jìn)入后選擇自己下載的插件包,點(diǎn)擊OK即可進(jìn)行離線安裝。
3、模型類上添加注解
Lombok常見的注解有:
● @Setter:為模型類的屬性提供setter方法
● @Getter:為模型類的屬性提供getter方法
● @ToString:為模型類的屬性提供toString方法
● @EqualsAndHashCode:為模型類的屬性提供equals和hashcode方法
● @Data:是一個(gè)組合注解,包含上面的注解的功能
● @NoArgsConstructor:提供一個(gè)無參構(gòu)造函數(shù)
● @AllArgsConstruotor:提供一個(gè)包含所有參數(shù)的構(gòu)造函數(shù)
Lombok的注解還有很多,上面標(biāo)紅的三個(gè)比較常用。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
private String name;
private String password;
private Integer age;
private String tel;
}
說明:Lombok只是簡(jiǎn)化模型的編寫,之前的方法也能用,比如,只有name和password的構(gòu)造方法,在里面添加即可。
二、分頁功能
分頁查詢使用的方法:
IPage<T> selectPage (IPage<T> page, wrapper<T> querywrapper);
IPage:用來構(gòu)建分頁查詢的條件
Wrapper:用來構(gòu)建添加查詢的條件,目前我們沒有可直接傳為Null
IPage:返回值,構(gòu)建分頁條件和方法的返回值都是IPage
IPage是一個(gè)接口,我們要實(shí)現(xiàn)類來構(gòu)建,具體實(shí)現(xiàn)類,可進(jìn)入到IPage類中按ctrl+h,會(huì)找到一個(gè)實(shí)現(xiàn)類為Page。
1、調(diào)用方法傳入?yún)?shù)獲取返回值
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests {
@Autowired
private UserDao userDao;
//分頁查詢
@Test
void testSelectPage(){
//1 創(chuàng)建IPage分頁對(duì)象,設(shè)置分頁參數(shù),1為當(dāng)前頁碼,3為每頁顯示的記錄數(shù)
IPage<User> page=new Page<>(2,3);
//2 執(zhí)行分頁查詢
userDao.selectPage(page,null);
//3 獲取分頁結(jié)果
System.out.println("當(dāng)前頁碼值:"+page.getCurrent());
System.out.println("每頁顯示數(shù):"+page.getSize());
System.out.println("一共多少頁:"+page.getPages());
System.out.println("一共多少條數(shù)據(jù):"+page.getTotal());
System.out.println("數(shù)據(jù):"+page.getRecords());
}
}2、設(shè)置分頁攔截器
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
//1 創(chuàng)建MybatisPlusInterceptor攔截器對(duì)象
MybatisPlusInterceptor mpInterceptor=new MybatisPlusInterceptor();
//2 添加分頁攔截器
mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mpInterceptor;
}
}
說明:上面的內(nèi)容在MP的官方文檔中都有。

3、運(yùn)行測(cè)試程序

如果想看MP執(zhí)行的SQL語句,可以修改application.yml配置文件
# 開啟mp的日志(輸出到控制臺(tái))
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
打開日志后,就可以在控制臺(tái)打印出對(duì)應(yīng)的SQL語句,開啟日志功能 性能就會(huì)受到影響,調(diào)試完后記得關(guān)閉

到此這篇關(guān)于MyBatisPlus+Lombok實(shí)現(xiàn)分頁功能的方法詳解的文章就介紹到這了,更多相關(guān)MyBatisPlus Lombok分頁內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中的關(guān)鍵字_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
關(guān)鍵字也稱為保留字,是指Java語言中規(guī)定了特定含義的標(biāo)示符。對(duì)于保留字,用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義2017-04-04
springboot通過jar包啟動(dòng)中文日志亂碼問題及解決
這篇文章主要介紹了springboot通過jar包啟動(dòng)中文日志亂碼問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring Cache監(jiān)控配置與使用規(guī)范的建議
這篇文章主要介紹了Spring Cache監(jiān)控配置與使用規(guī)范的建議,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Java自定義一個(gè)變長(zhǎng)數(shù)組的思路與代碼
有時(shí)我們希望將把數(shù)據(jù)保存在單個(gè)連續(xù)的數(shù)組中,以便快速、便捷地訪問數(shù)據(jù),但這需要調(diào)整數(shù)組大小或者對(duì)其擴(kuò)展,下面這篇文章主要給大家介紹了關(guān)于Java自定義一個(gè)變長(zhǎng)數(shù)組的思路與代碼,需要的朋友可以參考下2022-12-12

