溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mybatis有哪些約定的配置

發(fā)布時(shí)間:2021-06-25 17:46:10 來(lái)源:億速云 閱讀:143 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“mybatis有哪些約定的配置”,在日常操作中,相信很多人在mybatis有哪些約定的配置問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mybatis有哪些約定的配置”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

背景

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

一、@Mapper注解和@MapperScan注解使用說(shuō)明

  • 可以不使用@MapperScan注解,默認(rèn)掃描根路徑下標(biāo)注了@Mapper注解的接口

  • 可以使用@Mapper注解,使用@MapperScan(“com.kouryoushine.mybatis.demo.mapper”),告訴spring該包下的接口都作為Mapepr對(duì)象掃描到容器中

  • 兩個(gè)注解都不使用,報(bào)如下錯(cuò)誤。在根路徑下掃描不到任何Mapper

  • No MyBatis mapper was found in ‘[com.kouryoushine.mybatis.demo]' package. Please check your configuration.

二、 mapper代理方法必須一致

mapper代理方法

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

mapper代理開(kāi)發(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)

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

mybatis有哪些約定的配置

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

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

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

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

這種情況下比較特殊,其實(shí)是能掃描到這個(gè)xml文件的,只是打包時(shí)不會(huì)打進(jìn)去??梢酝ㄟ^(guò)添加如下配置將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>

注:沒(méi)有上述配置時(shí)target是沒(méi)有mapper.xml文件的,大家可以自己嘗試

mybatis有哪些約定的配置

總結(jié)

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

到此,關(guān)于“mybatis有哪些約定的配置”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI