Mybatis-plus中IService接口的基本使用步驟
前言
Mybatis-plus的IService接口:IService接口解釋,我們可以看到IService接口就是有一大堆方法接口。
IService的使用:
IService的使用需要另外兩個接口的配合:baseMapper和ServiceImpl
第一步:實現(xiàn)basemapper接口
public interface AdminMapper extends BaseMapper<Admin> { }
第二步:編寫service類
public interface AdminService extends IService<Admin> { }
第三步:編寫serviceImpl,ServiceImpl里面是各種的方法實現(xiàn)
好奇的可以點進源碼看下,兩個泛型需要注意的,第一個是繼承basemapper的(AdminMapper),第二個是實體類(Admin)。
public class AdminServiceImpl extends ServiceImpl<AdminMapper,Admin> implements AdminService {}
//查看源碼后發(fā)現(xiàn)ServiceImpl類使用到了BaseMapper接口T和實現(xiàn)類M,并實現(xiàn)了IService接口 public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {...}
第四步:在controller層,我們可以參考IService接口解釋或者Mybatis-plus官網(wǎng)的方法解釋來調(diào)用。
@Autowired AdminService adminService; void test11(){ // adminService中有很多方法 Admin admin = adminService.getById(13); }
綜合來看,比較合理的解釋是:
1、從分層角度來解釋,BaseMapper是DAO層的CRUD封裝,而IService是業(yè)務業(yè)務邏輯層的CRUD封裝,所以多了批量增、刪、改的操作封裝,這也比較符合官方指南中的闡述;
2、IService是對BaseMapper的擴展,從BaseMapper、IService、ServiceImpl三者的類關(guān)系以及源碼可以看出;
此外,個人認為應該還有一個原因,就是IService和BaseMapper提供的是兩種實現(xiàn)方式:
如果繼承BaseMapper,則不需要去實現(xiàn)其內(nèi)部方法,依靠mybatis的動態(tài)代理即可實現(xiàn)CRUD操作;
而如果自定義IBaseService去繼承IService,則需要去實現(xiàn)IService中的方法;
總結(jié)
到此這篇關(guān)于Mybatis-plus中IService接口的基本使用步驟的文章就介紹到這了,更多相關(guān)Mybatis-plus中IService接口使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中基于Shiro,JWT實現(xiàn)微信小程序登錄完整例子及實現(xiàn)過程
這篇文章主要介紹了Java中基于Shiro,JWT實現(xiàn)微信小程序登錄完整例子 ,實現(xiàn)了小程序的自定義登陸,將自定義登陸態(tài)token返回給小程序作為登陸憑證。需要的朋友可以參考下2018-11-11關(guān)于MyBatis通用Mapper@Table注解使用的注意點
這篇文章主要介紹了關(guān)于MyBatis通用Mapper@Table注解使用的注意點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11maven依賴關(guān)系中的<scope>provided</scope>使用詳解
這篇文章主要介紹了maven依賴關(guān)系中的<scope>provided</scope>使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07Java代碼的三根頂梁柱:循環(huán)結(jié)構(gòu)
這篇文章主要介紹了JAVA 循環(huán)結(jié)構(gòu)的相關(guān)資料,文中講解的非常細致,示例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下2021-08-08springboot如何接收get和post請求參數(shù)
這篇文章主要介紹了springboot如何接收get和post請求參數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06