日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SqlMapConfig.xml配置文件---Mybatis学习笔记(七)

發布時間:2023/12/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SqlMapConfig.xml配置文件---Mybatis学习笔记(七) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SqlMapConfig.xml文件的配置內容:

SqlMapConfig.xml中配置的內容和順序如下:

properties(屬性)
settings(全局配置參數)
typeAliases(類型別名)
typeHandlers(類型處理器)
objectFactory(對象工廠)
plugins(插件)
environments(環境集合屬性對象)
environment(環境子屬性對象)
transactionManager(事務管理)
dataSource(數據源)
mappers(映射器)

properties屬性:

需求:
將數據庫連接參數單獨配置在db.properties中,只需要在sqlMapConfig.xml中加載db.properties的屬性值。在SqlMapConfig.xml中就不需要對數據庫連接參數硬編碼。

將數據庫連接參數只配置在db.properties中,原因:方便對參數進行統一管理,其它xml可以引用該db.properties文件。

在classpath下定義db.properties文件:

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=123

SqlMapConfig.xml引用如下:

<properties resource="db.properties"/><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></dataSource></environment></environments>

注意: MyBatis 將按照下面的順序來加載屬性:

  • 在 properties 元素體內定義的屬性首先被讀取。
  • 然后會讀取properties 元素中resource或 url 加載的屬性,它會覆蓋已讀取的同名屬性。
  • 最后讀取parameterType傳遞的屬性,它會覆蓋已讀取的同名屬性。
  • 因此,通過parameterType傳遞的屬性具有最高優先級,resource或 url 加載的屬性次之,最低優先級的是 properties 元素體內定義的屬性。

    建議:

  • 不要在properties元素體內添加任何屬性值,只將屬性值定義在properties文件中。
  • 在properties文件中定義屬性名要有一定的特殊性(eg:xxx.xxx.xxx),防止跟parameterType中的屬性名稱重復。
  • settings(全局參數配置):

    mybatis框架在運行時可以通過settings參數調整一些運行參數。
    eg:開啟二級緩存、開啟延遲加載…



    typeAliases(類型別名):

    需求:
    在mapper.xml中,定義很多的statement,statement需要parameterType指定輸入參數的類型,需要resultType指定輸出結果的映射類型。如果在指定類型時輸入類型全路徑,不方便進行開發,可以針對parameterType和resultType指定的類型定義一些別名,在mapper.xml中通過別名定義就會十分方便。

    mybatis默認支持的別名:

    eg:UserMapper.xml文件中的

    <select id="findUserById" parameterType="java.lang.Integer" resultType="com.huihui.pojo.User">select * from user where id=#{id} </select>

    等同于

    <select id="findUserById" parameterType="int" resultType="com.huihui.pojo.User">select * from user where id=#{id} </select>

    上邊的int就是java.lang.Integer的別名。

    自定義別名:
    在sqlMapConfig.xml中的配置:

    <typeAliases><!-- 單個別名定義 --><typeAlias alias="user" type="cn.itcast.mybatis.po.User"/><!-- 批量別名定義,掃描整個包下的類,別名為類名(首字母大寫或小寫都可以) --><package name="cn.itcast.mybatis.po"/><package name="其它包"/> </typeAliases>

    上面針對單個別名定義中的:

    alias是要定義的別名 type是原始類型的全路徑

    上面針對批量別名定義:

    name就是存放pojo類的包名。

    定義好包名之后,加載的時候會自動掃描該包下的所有類,并把類名當作是別名。并且別名的首字母大小寫都可以。

    typeHandlers(類型處理器)

    類型處理器用于java類型和jdbc類型映射(也就是完成jdbc類型和java類型的轉換)。
    mybatis自帶的類型處理器基本上滿足日常需求,不需要單獨定義。

    mybatis支持類型處理器:

    eg:

    <select id="findUserById" parameterType="java.lang.Integer" resultType="user">select * from user where id = #{id} </select>

    上面 parameterType="java.lang.Integer" 的類型是java類型的,但是#{id} 卻是jdbc類型的。這里就是通過mybatis類型處理器自動完成的。

    mappers(映射器)

    Mapper配置的幾種方法:

  • <mapper resource=" " />
  • <mapper url=" " />
  • <mapper class=" " />
  • <package name=""/>
  • 1.<mapper resource=" " />:使用相對于類路徑的資源。
    eg:

    <mappers><mapper resource="sqlmap/User.xml"/><mapper resource="mapper/UserMapper.xml"/></mappers>

    2.<mapper url=" " />:使用完全限定路徑
    eg:

    <mapper url="file:///D:\workspace_spingmvc\mybatis_01\config\sqlmap\User.xml" />

    3.<mapper class=" " />:使用mapper接口類路徑
    注意:

  • 此種方法要求mapper接口名稱和mapper映射文件名稱相同,且放在同一個目錄中。
  • 此種方法的前提是使用了mapper代理的開發方式
  • eg:

    <mapper class="cn.itcast.mybatis.mapper.UserMapper"/>

    4.<package name=""/>:注冊指定包下的所有mapper接口
    注意:

  • 此種方法要求mapper接口名稱和mapper映射文件名稱相同,且放在同一個目錄中。
  • 此種方法的前提是使用了mapper代理的開發方式。
  • 此種方法會自動掃描包下邊所有的mapper接口進行加載。
  • eg:

    <package name="cn.itcast.mybatis.mapper"/>

    總結

    以上是生活随笔為你收集整理的SqlMapConfig.xml配置文件---Mybatis学习笔记(七)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。