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>(映射器) |
<properties>
屬性定義能夠把一些通用的屬性值配置在屬性文件中,加載到mybatis運行環境內。例如建立db.properties文件,而後在SqlMapperConfig.xml中進行配置。db.properties文件內容以下:app
而後在SqlMapperConfig.xml中進行配置:性能
而後在<environments>
標籤中用${}
符號作以下修改:url
注意:Mybatis將按照下面的順序來加載屬性spa
因此咱們建議使用properties標籤時,不要在properties標籤之間定義屬性,只引用在.properties文件中定義的屬性,而且.properties文件中定義的key值要有一些特殊的規則。例如我上述定義key值時前面都加了jdbc.的前綴。插件
<settings>
全局參數配置mybatis運行時能夠調整一些全局參數(至關於軟件的運行參數)。根據使用需求進行參數配置。可是要注意:當心配置,配置參數會影響mybatis的執行。線程
ibatis的全局配置參數中包括不少的性能參數(最大線程數、最大等待時間…),經過調整這些性能參數使ibatis達到高性能的運行,而mybatis沒有這些性能參數,由mybatis自動調節。代理
<typeAliases>
屬性能夠將parameterType、resultType中指定的類型經過別名引用。MyBatis提供了不少的別名以下:code
這裏咱們採用自定義的別名,在SqlMapperConfig.xml中進行以下配置:
裏面包括定義單個別名和批量別名定義(即一次性定義一個包下全部.java文件的別名)。
定義別名後這樣咱們在parameterType和resultType中使用時就不用再繁瑣的指定類的全限定類名了,像下面這樣使用便可
<typeHandlers>
屬性類型處理器將java類型和jdbc類型進行映射,mybatis提供了不少類型處理器,通常狀況下夠用了。
<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」/>
,代碼以下: