溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis有哪些約定的配置

發布時間:2021-06-25 17:46:10 來源:億速云 閱讀:168 作者:chen 欄目:開發技術

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

背景

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

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

  • 可以不使用@MapperScan注解,默認掃描根路徑下標注了@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接口實現類代理對象。
–程序員編寫mapper接口需要遵循一些開發規范。

mapper代理開發規范

  •  在mapper.xml中namespace等于mapper接口地址

  • mapper.java接口中的方法名和mapper.xml中statement的id一致

  • mapper.java接口中的方法輸入參數類型和mapper.xml中statement的parameterType指定的類型一致。

  • mapper.java接口中的方法返回值類型和mapper.xml中statement的resultType指定的類型一致。

  • mapper.xml文件名應該和接口名保持一致,否則也可能出現不匹配

二、xml文件的位置

位置1:放在resource目錄下相同目錄結構

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

mybatis有哪些約定的配置

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

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

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

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

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

<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文件的,大家可以自己嘗試

mybatis有哪些約定的配置

總結

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

到此,關于“mybatis有哪些約定的配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女