這篇文章主要介紹“mybatis有哪些約定的配置”,在日常操作中,相信很多人在mybatis有哪些約定的配置問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”mybatis有哪些約定的配置”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在springboot中有很多約定大于配置的規則,如果我們準守了約定,可以零配置。mybatsi中Mapper和xml文件之間有很多約定俗稱的規則,比如名稱匹配,包掃描,別名等,這些規則是什么。如果想更加靈活,該如何配置呢?今天就給大家講一下如何配置mybatsi的xml文件等。
可以不使用@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.xml映射文件,mybatis可以自動生成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文件名應該和接口名保持一致,否則也可能出現不匹配
這種方式無需額外的配置,但并不推薦。
比如指定mapper-location的位置,否則掃描不到
mybatis: mapper-locations: classpath:/mapper/*.xml
這種情況下比較特殊,其實是能掃描到這個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有哪些約定的配置”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。