properties:
-
可以用來讀取外面的properties文件。例如,可以將數據庫的有關配置全放到一個jdbc.properties文件內,然後用properties標籤讀取。
settings:
-
可以對MyBatis進行各項配置,裏面有很多屬性。例如,設置MyBatis使用駝峯命名法自動關聯數據庫內相關屬性:<setting name="mapUnderscoreToCamelCase" value="false"/>
typeAliases:
-
主要用來給類起別名,還可以通過@Alias("u")註解來爲每個類設置別名。注意:由於java有很多封裝類型(如:String、List、Set、Integer)而MyBatis默認給這些封裝類起了別名,所以我們的別名不能和MyBatis內置別名衝突。
<typeAliases>
<!-- 爲每個類單獨設置別名 -->
<typeAlias type="cn.mybatis.demo1.model.User" alias="user"/>
<!-- 可以爲這個包內所有的類全部設置別名,默認是將類的首字母改小寫 -->
<package name="cn.mybatis.demo1.model"/>
</typeAliases>
typeHandlers:
-
自定義處理器。
environments:
-
配置連接環境。mybatis可以配置多個環境,但是每個SqlSessionFactory只能幫定一個。如果要連接到多個數據庫,就爲每個數據庫配置環境,然後再創建不同的實例。
<!-- default後跟默認連接環境的id,更改它的id即可切換連接環境 -->
<environments default="development">
<environment id="development"><!--當前使用的連接環境即這個環境 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
<!-- 可以創建多個連接環境 -->
<environment id="ww">
<!-- 每個環境至少要有transactionManager和dataSource -->
<transactionManager type=""></transactionManager>
<dataSource type=""></dataSource>
</environment>
</environments>
mappers:映射每個接口的映射文件。關於mappers的用法總體可分爲兩種:
-
使用resource屬性,後跟每個xml文件所在路徑,如果多個xml文件則需要寫多個mapper標籤:
<mappers>
<mapper resource="cn/mybatis/demo1/model/UserMapper.xml"/>
</mappers>
-
使用class屬性,後跟接口的全限定名,這種方法有兩個條件:一是接口對應的映射xml必須和接口在同一個包下,二是它們兩個名字(除了後綴)必須相同。這樣也是需要爲每個接口配置一個mapper。
<mappers>
<mapper class="cn.mybatis.demo1.mapper.UserMapper"/>
</mappers>
-
這種方法與上面那種方法原理一樣,只是更簡潔,mappers標籤還有一個package子標籤,他可以自動映射包內所有接口,所以我們只需配置一次就可以將包內所有接口全部映射:
<mappers>
<package name="cn.mybatis.demo1.mapper"/>
</mappers>