溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis-Plus接口BaseMapper與Services如何使用

發布時間:2022-05-26 14:12:54 來源:億速云 閱讀:963 作者:iii 欄目:開發技術

這篇文章主要介紹“Mybatis-Plus接口BaseMapper與Services如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Mybatis-Plus接口BaseMapper與Services如何使用”文章能幫助大家解決問題。

一、使用 BaseMapper 接口

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

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

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

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

Mybatis-Plus接口BaseMapper與Services如何使用

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

二、使用 Service 接口

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

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

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

@Mapper
public interface AddressListMapper extends BaseMapper<User>{

}

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

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

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

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

}

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

Mybatis-Plus接口BaseMapper與Services如何使用

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

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

關于“Mybatis-Plus接口BaseMapper與Services如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女