MyBatis之優化MyBatis配置文件中的配置

MyBatis配置文件很重要,首先咱們來看看MyBatis配置文件中的內容和順序:
 java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<properties>(屬性)

<setting>(全局配置參數)

<typeAliases>(類型別名)

<typeHandlers>(類型處理器)

<objectFactory>(對象工廠)

<plugins>(插件)

<environments>(環境集合屬性對象)
	<environment>(環境子屬性對象)
		<transactionManager>(事務管理)
		dataSource>(數據源)
		
<mappers>(映射器)

 

文件目錄結構以下:mybatis

1.<properties>屬性定義

能夠把一些通用的屬性值配置在屬性文件中,加載到mybatis運行環境內。例如建立db.properties文件,而後在SqlMapperConfig.xml中進行配置。db.properties文件內容以下:app

而後在SqlMapperConfig.xml中進行配置:性能

而後在<environments>標籤中用${}符號作以下修改:url

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

  • 1.在properties標籤之間定義的屬性首先被讀取。
  • 2.而後會讀取properties標籤內部resource或url的屬性,它會覆蓋已讀取的同名屬性。
  • 3.最後讀取parameterType(即insert標籤或是update標籤或是…)傳遞的屬性,它會覆蓋已讀取的同名屬性。

因此咱們建議使用properties標籤時,不要在properties標籤之間定義屬性,只引用在.properties文件中定義的屬性,而且.properties文件中定義的key值要有一些特殊的規則。例如我上述定義key值時前面都加了jdbc.的前綴。插件

2.<settings>全局參數配置

mybatis運行時能夠調整一些全局參數(至關於軟件的運行參數)。根據使用需求進行參數配置。可是要注意:當心配置,配置參數會影響mybatis的執行。線程

ibatis的全局配置參數中包括不少的性能參數(最大線程數、最大等待時間…),經過調整這些性能參數使ibatis達到高性能的運行,而mybatis沒有這些性能參數,由mybatis自動調節。代理

3.<typeAliases>屬性

能夠將parameterType、resultType中指定的類型經過別名引用。MyBatis提供了不少的別名以下:code

這裏咱們採用自定義的別名,在SqlMapperConfig.xml中進行以下配置:

裏面包括定義單個別名和批量別名定義(即一次性定義一個包下全部.java文件的別名)。

定義別名後這樣咱們在parameterType和resultType中使用時就不用再繁瑣的指定類的全限定類名了,像下面這樣使用便可

4.<typeHandlers>屬性

類型處理器將java類型和jdbc類型進行映射,mybatis提供了不少類型處理器,通常狀況下夠用了。

5.<mapper>映射器屬性

以前咱們在配置文件中使用的<mapper>標籤內容爲:<mapper resource=「mapper/UserMapper.xml」/>,接下來我要講的是另外一種在配置文件中映射mapper動態代理的方法。在配置文件中這樣配置<mapper class=「mapper.UserMapper」/>,這樣的要求須要保證UserMapper.xml文件和UserMapper.java在同一個包下且.xml文件和.java文件名要同名。

同上方別名的配置,當包下出現多個Mapper.java和Mapper.xml時咱們採用批量配置:<package name=「mapper」/>,代碼以下:

相關文章
相關標籤/搜索