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

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

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

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

一、使用 BaseMapper 接口

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

以為項(xiàng)目中的代碼為例,我有一個(gè)實(shí)體類User,需要對(duì)其進(jìn)行CRUD,那么我直接在 DAO 層去繼承 BaseMapper 接口即可。

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

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

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

二、使用 Service 接口

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

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

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

@Mapper
public interface AddressListMapper extends BaseMapper<User>{

}

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

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

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

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

}

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

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

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

最后,放上教程鏈接:http://m.fzitv.net/article/222180.htm

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

相關(guān)文章

  • IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文)

    IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文)

    這篇文章主要介紹了IntelliJ IDEA(2019)安裝破解及HelloWorld案例(圖文),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Java核心技術(shù)之反射

    Java核心技術(shù)之反射

    本文非常詳細(xì)的講解了java反射的相關(guān)資料,java反射在現(xiàn)今的使用中很頻繁,希望此文可以幫大家解答疑惑,可以幫助大家理解
    2021-11-11
  • SpringBoot整合flyway實(shí)現(xiàn)自動(dòng)創(chuàng)建表的方法

    SpringBoot整合flyway實(shí)現(xiàn)自動(dòng)創(chuàng)建表的方法

    這篇文章主要介紹了SpringBoot整合flyway實(shí)現(xiàn)自動(dòng)創(chuàng)建表的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java如何讀取配置文件并賦值靜態(tài)變量

    Java如何讀取配置文件并賦值靜態(tài)變量

    這篇文章主要介紹了Java如何讀取配置文件并賦值靜態(tài)變量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java用戶名密碼驗(yàn)證示例代碼分享

    java用戶名密碼驗(yàn)證示例代碼分享

    這篇文章主要介紹了java用戶名密碼驗(yàn)證示例代碼,需要的朋友可以參考下
    2014-03-03
  • 一文讀懂a(chǎn)va中的Volatile關(guān)鍵字使用

    一文讀懂a(chǎn)va中的Volatile關(guān)鍵字使用

    volatile關(guān)鍵字的作用保證了變量的可見(jiàn)性(visibility)。被volatile關(guān)鍵字修飾的變量,如果值發(fā)生了變更,其他線程立馬可見(jiàn),避免出現(xiàn)臟讀的現(xiàn)象。這篇文章主要介紹了ava中的Volatile關(guān)鍵字使用,需要的朋友可以參考下
    2020-03-03
  • SWT(JFace)體驗(yàn)之ApplicationWindow

    SWT(JFace)體驗(yàn)之ApplicationWindow

    SWT(JFace)體驗(yàn)之ApplicationWindow
    2009-06-06
  • java與C 代碼運(yùn)行效率的對(duì)比(整理)

    java與C 代碼運(yùn)行效率的對(duì)比(整理)

    最近和朋友無(wú)意間討論起了 有關(guān)java 和C 的 效率問(wèn)題, (我是java 推介者, 他是 c 語(yǔ)言推介者, 他做的是嵌入式)故,想通過(guò)網(wǎng)絡(luò)查詢一下, 總結(jié)一下,兩者到底效率如何,其有何差異,原因又是啥?各種優(yōu)勢(shì)有在何處?
    2021-04-04
  • Spring boot 整合 Okhttp3 并封裝請(qǐng)求工具實(shí)例 詳解

    Spring boot 整合 Okhttp3 并封裝請(qǐng)求工具實(shí)例 詳解

    OkHttp作為一款成熟、穩(wěn)定、易用的HTTP客戶端庫(kù),擁有較高的性能和多樣化的功能,已被廣泛應(yīng)用于移動(dòng)應(yīng)用開(kāi)發(fā)、Web服務(wù)端開(kāi)發(fā)等領(lǐng)域,這篇文章主要介紹了Spring boot 整合 Okhttp3 并封裝請(qǐng)求工具,需要的朋友可以參考下
    2023-08-08
  • visual studio 2019安裝配置可編寫c/c++語(yǔ)言的IDE環(huán)境

    visual studio 2019安裝配置可編寫c/c++語(yǔ)言的IDE環(huán)境

    這篇文章主要介紹了visual studio 2019安裝配置可編寫c/c++語(yǔ)言的IDE環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

海淀区| 积石山| 万荣县| 遂昌县| 长顺县| 抚宁县| 赤壁市| 时尚| 重庆市| 肃宁县| 长子县| 曲阜市| 长沙市| 通江县| 礼泉县| 临潭县| 遵义县| 镇远县| 徐闻县| 永安市| 浦东新区| 江山市| 饶阳县| 宜兰市| 措美县| 长沙县| 遂宁市| 铅山县| 含山县| 邳州市| 高台县| 广河县| 滨州市| 吉木乃县| 尼勒克县| 张家界市| 海宁市| 托克逊县| 浦县| 鄂托克旗| 达孜县|