欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mybatis那些約定的配置你真的都了解嗎(經(jīng)驗總結(jié))

 更新時間:2021年06月25日 12:07:59   作者:如何在3年拿到50K  
mybatsi中Mapper和xml文件之間有很多約定俗稱的規(guī)則,比如名稱匹配,包掃描,別名等,這些規(guī)則是什么。如果想更加靈活,該如何配置呢?今天就給大家講一下如何配置mybatsi的xml文件

背景

在springboot中有很多約定大于配置的規(guī)則,如果我們準(zhǔn)守了約定,可以零配置。mybatsi中Mapper和xml文件之間有很多約定俗稱的規(guī)則,比如名稱匹配,包掃描,別名等,這些規(guī)則是什么。如果想更加靈活,該如何配置呢?今天就給大家講一下如何配置mybatsi的xml文件等。

一、@Mapper注解和@MapperScan注解使用說明

  • 可以不使用@MapperScan注解,默認(rèn)掃描根路徑下標(biāo)注了@Mapper注解的接口
  • 可以使用@Mapper注解,使用@MapperScan(“com.kouryoushine.mybatis.demo.mapper”),告訴spring該包下的接口都作為Mapepr對象掃描到容器中
  • 兩個注解都不使用,報如下錯誤。在根路徑下掃描不到任何Mapper
  • No MyBatis mapper was found in ‘[com.kouryoushine.mybatis.demo]' package. Please check your configuration.

二、 mapper代理方法必須一致

mapper代理方法

–程序員只需要mapper接口和mapper.xml映射文件,mybatis可以自動生成mapper接口實現(xiàn)類代理對象。
–程序員編寫mapper接口需要遵循一些開發(fā)規(guī)范。

mapper代理開發(fā)規(guī)范

  •  在mapper.xml中namespace等于mapper接口地址
  • mapper.java接口中的方法名和mapper.xml中statement的id一致
  • mapper.java接口中的方法輸入?yún)?shù)類型和mapper.xml中statement的parameterType指定的類型一致。
  • mapper.java接口中的方法返回值類型和mapper.xml中statement的resultType指定的類型一致。
  • mapper.xml文件名應(yīng)該和接口名保持一致,否則也可能出現(xiàn)不匹配

二、xml文件的位置

位置1:放在resource目錄下相同目錄結(jié)構(gòu)

這種方式無需額外的配置,但并不推薦。

在這里插入圖片描述

位置2:放在resource下任意目錄

比如指定mapper-location的位置,否則掃描不到

mybatis:
  mapper-locations: classpath:/mapper/*.xml

位置3:和mapper接口放在同一目錄下

這種情況下比較特殊,其實是能掃描到這個xml文件的,只是打包時不會打進(jìn)去??梢酝ㄟ^添加如下配置將xml打包進(jìn)去。

<build>
    <resources>
        <!-- 掃描src/main/java下所有xx.xml文件 -->
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <!-- 掃描resources下所有資源 -->
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
</build>

注:沒有上述配置時target是沒有mapper.xml文件的,大家可以自己嘗試

在這里插入圖片描述

總結(jié)

雖然有多種方式都可以達(dá)成配置,但還是推薦加上注解同時指定好掃描路徑。

以上就是mybatis那些約定的配置你真的都了解嗎的詳細(xì)內(nèi)容,更多關(guān)于mybatis配置的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(62)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(62)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • Java線程安全和鎖Synchronized知識點(diǎn)詳解

    Java線程安全和鎖Synchronized知識點(diǎn)詳解

    在本篇文章里小編給大家分享的是關(guān)于Java線程安全和鎖Synchronized相關(guān)知識點(diǎn),有需要的朋友們可以參考下。
    2019-08-08
  • 使用redisTemplate的scan方式刪除批量key問題

    使用redisTemplate的scan方式刪除批量key問題

    這篇文章主要介紹了使用redisTemplate的scan方式刪除批量key問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 解決方法A調(diào)用方法B的事務(wù)控制問題

    解決方法A調(diào)用方法B的事務(wù)控制問題

    這篇文章主要介紹了解決方法A調(diào)用方法B的事務(wù)控制問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java面試之動態(tài)規(guī)劃與組合數(shù)

    Java面試之動態(tài)規(guī)劃與組合數(shù)

    這篇文章主要介紹了Java面試之動態(tài)規(guī)劃與組合數(shù)的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析

    spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析

    這篇文章主要介紹了spring boot基于DRUID實現(xiàn)數(shù)據(jù)源監(jiān)控過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Java基礎(chǔ)之容器LinkedList

    Java基礎(chǔ)之容器LinkedList

    這篇文章主要介紹了Java基礎(chǔ)之容器LinkedList,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Java使用RandomAccessFile類對文件進(jìn)行讀寫

    Java使用RandomAccessFile類對文件進(jìn)行讀寫

    本篇文章主要介紹了Java使用RandomAccessFile類對文件進(jìn)行讀寫,詳細(xì)的介紹了RandomAccessFile類的使用技巧和實例應(yīng)用,有興趣的可以了解一下
    2017-04-04
  • Java?switch?case語句舉例詳解

    Java?switch?case語句舉例詳解

    這篇文章主要給大家介紹了關(guān)于Java?switch?case語句舉例詳解的相關(guān)資料,switch case語句是一種流程控制語句,用于根據(jù)不同的條件執(zhí)行不同的代碼塊,需要的朋友可以參考下
    2023-10-10
  • MyBatis實現(xiàn)模糊查詢的幾種方式

    MyBatis實現(xiàn)模糊查詢的幾種方式

    這篇文章主要介紹了MyBatis實現(xiàn)模糊查詢的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論