mybatis系列筆記(3)---SqlMapConfig.xml解析,mybatissqlmapconfig

來源:互聯網
上載者:User

mybatis系列筆記(3)---SqlMapConfig.xml解析,mybatissqlmapconfig

SqlMapConfig.xml

SqlMapConfig.xml是Mybatis的全域配置參數,關於他的具體用的有專門的MyBatis - API文檔,這裡面講的非常清楚,所以我這裡就挑幾個講下:

他的主要配置的屬性有如下:

1.properties 屬性

這些屬性都是可外部配置且可動態替換的,既可以在典型的 Java 屬性檔案中配置,亦可通過 properties 元素的子項目來傳遞。

1 <!-- 載入屬性檔案 -->2     <properties resource="db.properties">3         <!-- 可以在配置相關的其他事項 -->4         <!-- <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> -->5     </properties>6     <!-- 這裡如果在db.properties和 name=""都配置了jdbc.driver那麼優先執行name中的-->7     <!-- 配置全域的參數資訊 -->    

如果屬性在不只一個地方進行了配置,那麼 MyBatis 將按照下面的順序來載入:

  • 在 properties 元素體內指定的屬性首先被讀取。
  • 然後根據 properties 元素中的 resource 屬性讀取類路徑下屬性檔案或根據 url 屬性指定的路徑讀取屬性檔案,並覆蓋已讀取的同名屬性。
  • 最後讀取作為方法參數傳遞的屬性,並覆蓋已讀取的同名屬性。

因此,通過方法參數傳遞的屬性具有最高優先順序,resource/url 屬性中指定的設定檔次之,最低優先順序的是 properties 屬性中指定的屬性。

2.settings全域的參數配置

這是 MyBatis 中極為重要的調整設定,它們會改變 MyBatis 的運行時行為。

具體的就不寫了唯寫一個運算式:

<!-- 配置全域的參數資訊 -->           <settings>          <setting name="" value=""/>      </settings>

3.typeAliases(別名)

 制定別名最大的一個優勢就是方便我們的開發,因為我們如果沒有設定別名的情況下,在mapper.xml中

定義了很多Statement ,Statement需要parameterType指定輸入參數的類型或者指定輸出結果的類型比如:

<!-- 根據id查詢使用者資訊 -->    <select id="findUserById" parameterType="int" resultType="com.study.model.User">        SELECT * FROM USER WHERE id= #{id}    </select>

這裡的resultType如果是對象一定要類的全名稱,那我們能不能唯寫了user就能達到同樣的效果,這樣是不是就有利於簡便我們的開發

有兩種方法:

1.單個別名的定義

1 <typeAliases>2         <!--3             單個別名的定義4             alias:別名,type:別名映射的類型  -->5             <!-- <typeAlias type="com.study.model.User" alias="user"/> -->6     </typeAliases>7 <!--這樣的話只需輸入user就能起到一樣效果-->

2.批量定義別名(常用)

1 <typeAliases>2             <!-- 批量別名定義3             指定包路徑,自動掃描包下邊的pojo,定義別名,別名預設為類名(首字母小寫或大寫)4          -->5         <package name="com.study.model"/>6     </typeAliases>

4.mappers(映射配置)

1.通過resource載入單個對應檔

1 <!-- 載入對應檔 -->2     <mappers>3         <mapper resource="sqlmap/User.xml" />     4     </mappers>

2.通過mapper介面載入單個mapper

1 <mappers>2         <!-- 通過mapper介面 載入單個對應檔 必須遵循一些規範: 需要將mapper介面和mapper.xml對應檔 檔案名稱必須一致 並且在同一個目錄下 -->3         <mapper class="com.study.mapper.UserMapper" />     4     </mappers>

3.批量載入mapper(推薦使用)

1 <mappers>2         <!-- 3             指定mapper介面的包名  mybatis會自動掃描這個包下所有的mapper介面 然後執行載入4          -->5         <package name="com.study.mapper"/>6     </mappers>

 其他的我就不講了,要詳細的可以找api,非常的詳細,歡迎大家指點,謝謝!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.