欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis-Plus接口BaseMapper與Services使用詳解

 更新時間:2022年05月26日 11:51:26   作者:把蘋果咬哭的測試筆記  
這篇文章主要為大家介紹了Mybatis-Plus接口BaseMapper與Services使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

最近在工作開發(fā)中遇到一個批量新增修改的處理,我使用的是 mybatis-plus,但是在用的 BaseMapper 接口里是沒有這個方法的,后來發(fā)現(xiàn) Service 接口里有這個方法,今天整理一下這2種用法。

一、使用 BaseMapper 接口

MyBatis Plus 提供了通用的 Mapper 接口(即 BaseMapper 接口),該接口對應(yīng)我們的 DAO 層。在該接口中,定義了我們常見的方法簽名,這樣就可以方便我們對表進行操作。例如:查詢(select)、插入(insert)、更新(update)和刪除(delete)操作。

以為項目中的代碼為例,我有一個實體類User,需要對其進行CRUD,那么我直接在 DAO 層去繼承 BaseMapper 接口即可。

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

這樣我就可以直接使用里面的各種API了,非常的方便。另外,我發(fā)現(xiàn)了一個mybatis-plus的簡潔教程,可以很方便的查詢一些知識點,文末自取。

但是后來在開發(fā)過程中,發(fā)現(xiàn)BaseMapper接口中的insert()不能滿足我的需求了,而在Service接口中,發(fā)現(xiàn)有個saveOrUpdateBatch()可以使用,果斷擁抱之。

二、使用 Service 接口

除了 BaseMapper 接口,MyBatis Plus 還提供了 IService 接口,該接口對應(yīng) Service 層。MyBatis Plus 的通用 Service CRUD 實現(xiàn)了 IService 接口,進一步封裝 CRUD。為了避免與 BaseMapper 中定義的方法混淆,該接口使用 get(查詢單行)、remove(刪除)、list(查詢集合)和 page(分頁)前綴命名的方式進行區(qū)別。

這個既然是對應(yīng) Service 接口,那么也就要用在 service 層。

還是要處理剛才的User類,DAO 層仍然是需要的:

@Mapper
public interface AddressListMapper extends BaseMapper<User>{

}

然后在 service 層的接口繼承IService,泛型是User實體類:

public interface AddressListService extends IService<User> {
    /**
     * 同步用戶信息到數(shù)據(jù)庫
     */
    void saveUsers();
}

最后在 service 的實現(xiàn)層中,繼承ServiceImpl,泛型中傳入mapper和實體類:

@Service
public class AddressListServiceImpl extends ServiceImpl<AddressListMapper, User> implements AddressListService {

}

現(xiàn)在就可以使用 mybaits-plus service接口中提供的api了。

我使用的是saveOrUpdateBatch,這個要注意下,是通過自定義的唯一索引進行批量保存更新的,所以我要去實體類User中使用@TableId標(biāo)記出唯一索性。

    /**
     * 郵箱
     */
    @TableId
    private String email;

最后,放上教程鏈接:http://www.dbjr.com.cn/article/222180.htm

以上就是Mybatis-Plus接口BaseMapper與Services使用詳解的詳細內(nèi)容,更多關(guān)于Mybatis Plus接口的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Springboot整合hutool驗證碼的實例代碼

    Springboot整合hutool驗證碼的實例代碼

    在 Spring Boot 中,你可以將 Hutool 生成驗證碼的功能集成到 RESTful API 接口中,這篇文章主要介紹了Springboot整合hutool驗證碼,需要的朋友可以參考下
    2024-08-08
  • Springboot pom項目間接依賴包版本與預(yù)期不符原因解決分析

    Springboot pom項目間接依賴包版本與預(yù)期不符原因解決分析

    這篇文章主要介紹了Springboot pom項目間接依賴包版本與預(yù)期不符原因解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • java實現(xiàn)動態(tài)時鐘并設(shè)置鬧鐘功能

    java實現(xiàn)動態(tài)時鐘并設(shè)置鬧鐘功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)動態(tài)時鐘并設(shè)置鬧鐘功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Flink開發(fā)IDEA環(huán)境搭建與測試的方法

    Flink開發(fā)IDEA環(huán)境搭建與測試的方法

    這篇文章主要介紹了Flink開發(fā)IDEA環(huán)境搭建與測試的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Spring Cloud中Eureka開啟密碼認證的實例

    Spring Cloud中Eureka開啟密碼認證的實例

    這篇文章主要介紹了Spring Cloud中Eureka開啟密碼認證的實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Lombok之@AllArgsConstructor的使用方式

    Lombok之@AllArgsConstructor的使用方式

    這篇文章主要介紹了Lombok之@AllArgsConstructor的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#)

    emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#)

    這篇文章主要介紹了emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 精通Java接口的使用與原理

    精通Java接口的使用與原理

    接口,在JAVA編程語言中是一個抽象類型,是抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法
    2022-03-03
  • java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復(fù)的字符詳解

    java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復(fù)的字符詳解

    這篇文章主要介紹了java實現(xiàn)輸出字符串中第一個出現(xiàn)不重復(fù)的字符詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 關(guān)于SpringBoot自定義條件注解與自動配置

    關(guān)于SpringBoot自定義條件注解與自動配置

    這篇文章主要介紹了關(guān)于SpringBoot自定義條件注解與自動配置,Spring Boot的核心功能就是為整合第三方框架提供自動配置,而本文則帶著大家實現(xiàn)了自己的自動配置和Starter,需要的朋友可以參考下
    2023-07-07

最新評論