最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis-plus中IService接口的基本使用步驟

 更新時間:2023年06月01日 09:59:39   作者:白貓與巧克力  
Mybatis-plus是一個Mybatis的增強工具,它提供了很多便捷的方法來簡化開發(fā),IService是Mybatis-plus提供的通用service接口,封裝了常用的數(shù)據(jù)庫操作方法,包括增刪改查等,下面這篇文章主要給大家介紹了關(guān)于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è)務(wù)業(yè)務(wù)邏輯層的CRUD封裝,所以多了批量增、刪、改的操作封裝,這也比較符合官方指南中的闡述;

2、IService是對BaseMapper的擴展,從BaseMapper、IService、ServiceImpl三者的類關(guān)系以及源碼可以看出;

此外,個人認為應(yīng)該還有一個原因,就是IService和BaseMapper提供的是兩種實現(xiàn)方式:

如果繼承BaseMapper,則不需要去實現(xiàn)其內(nèi)部方法,依靠mybatis的動態(tài)代理即可實現(xiàn)CRUD操作;

而如果自定義IBaseService去繼承IService,則需要去實現(xiàn)IService中的方法;

ServiceImpl實現(xiàn)了IService接口

關(guān)系圖

總結(jié) 

到此這篇關(guān)于Mybatis-plus中IService接口的基本使用步驟的文章就介紹到這了,更多相關(guān)Mybatis-plus中IService接口使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Kafka是什么及如何使用SpringBoot對接Kafka(最新推薦)

    Kafka是什么及如何使用SpringBoot對接Kafka(最新推薦)

    這篇文章主要介紹了Kafka是什么,以及如何使用SpringBoot對接Kafka,今天我們通過一個Demo講解了在SpringBoot中如何對接Kafka,也介紹了下關(guān)鍵類?KafkaTemplate,需要的朋友可以參考下
    2023-11-11
  • Java8新特性O(shè)ptional常用方法

    Java8新特性O(shè)ptional常用方法

    optional類是Java8新增加的一個對象容器,主要的功能有對象的創(chuàng)建、獲取、判斷、過濾,映射等,下面這篇文章主要給大家介紹了關(guān)于Java8新特性O(shè)ptional常用方法的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • SpringCloud配置中心Config過程解析

    SpringCloud配置中心Config過程解析

    這篇文章主要介紹了SpringCloud配置中心Config過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Spring Boot延遲執(zhí)行實現(xiàn)方法

    Spring Boot延遲執(zhí)行實現(xiàn)方法

    本文介紹了在Spring Boot項目中延遲執(zhí)行方法的實現(xiàn),以及延遲執(zhí)行下聲明式事務(wù)和編程式事務(wù)的使用情況,感興趣的朋友一起看看吧
    2020-12-12
  • maven項目無法解析插件的解決方案

    maven項目無法解析插件的解決方案

    這篇文章主要介紹了maven項目無法解析插件的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析

    java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析

    這篇文章主要介紹了java數(shù)組實現(xiàn)隊列及環(huán)形隊列實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Java for循環(huán)詳解

    Java for循環(huán)詳解

    這篇文章主要介紹了Java for循環(huán)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Java字段初始化的規(guī)律解析

    Java字段初始化的規(guī)律解析

    這篇文章主要介紹了Java字段初始化的規(guī)律解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • Mybatis插件PageHelper的實現(xiàn)原理詳解

    Mybatis插件PageHelper的實現(xiàn)原理詳解

    PageHelper 是一款開源的 MyBatis 分頁插件,可以在實際應(yīng)用中方便地實現(xiàn)分頁功能,這篇文章主要來和大家講講PageHelper的原理與使用,需要的可以參考下
    2023-06-06
  • springboot中server.ssl.key-store配置路徑的問題小結(jié)

    springboot中server.ssl.key-store配置路徑的問題小結(jié)

    這篇文章主要介紹了springboot中server.ssl.key-store配置路徑的問題,文中還記錄了Spring Boot SSL(https)實例,介紹在web程序中使用自簽名的SSL(HTTPS)證書及創(chuàng)建SSL認證,感興趣的朋友跟隨小編一起看看吧
    2024-02-02

最新評論

彰化市| 禹城市| 运城市| 唐河县| 永川市| 呼玛县| 海阳市| 乾安县| 亚东县| 上杭县| 吐鲁番市| 阜康市| 昭通市| 广东省| 德惠市| 天柱县| 绥化市| 东兰县| 河间市| 登封市| 罗甸县| 正定县| 同江市| 西畴县| 沈阳市| 石狮市| 崇左市| 兴文县| 奇台县| 和平区| 新竹市| 安阳县| 万州区| 灌阳县| 宝兴县| 盈江县| 卢龙县| 外汇| 江西省| 信宜市| 尉氏县|