您好,登錄后才能下訂單哦!
這篇文章主要介紹“Mybatis-Plus接口BaseMapper與Services如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Mybatis-Plus接口BaseMapper與Services如何使用”文章能幫助大家解決問題。
MyBatis Plus 提供了通用的 Mapper 接口(即 BaseMapper 接口),該接口對應我們的 DAO 層。在該接口中,定義了我們常見的方法簽名,這樣就可以方便我們對表進行操作。例如:查詢(select)、插入(insert)、更新(update)和刪除(delete)操作。
以為項目中的代碼為例,我有一個實體類User
,需要對其進行CRUD,那么我直接在 DAO 層去繼承 BaseMapper 接口即可。
@Mapper public interface UserMapper extends BaseMapper<User> { }
這樣我就可以直接使用里面的各種API了,非常的方便。另外,我發現了一個mybatis-plus的簡潔教程,可以很方便的查詢一些知識點,文末自取。
但是后來在開發過程中,發現BaseMapper
接口中的insert()
不能滿足我的需求了,而在Service
接口中,發現有個saveOrUpdateBatch()
可以使用,果斷擁抱之。
除了 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了。
我使用的是saveOrUpdateBatch
,這個要注意下,是通過自定義的唯一索引進行批量保存更新的,所以我要去實體類User
中使用@TableId
標記出唯一索性。
/** * 郵箱 */ @TableId private String email;
關于“Mybatis-Plus接口BaseMapper與Services如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。