mybatis入門級04——核心配置檔案SqlMapConfig.xml(一)
阿新 • • 發佈:2018-12-20
一、properties
將資料庫連線引數單獨配置在db.properties中,只需要在SqlMapConfig.xml檔案中呼叫即可。 在SqlMapConfig.xml中就不需要對資料庫連線引數進行硬編碼。 方便對引數進行統一管理,其他xml檔案也可以引用該db.properties.xml檔案。
- jdbc.properties:
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/db_mybatis02?characterEncoding=utf-8 jdbc.userName=root jdbc.password=246626
- 在SqlMapConfig.xml中引用
<!-- 引用jdbc.properties --> <properties resource="jdbc.properties"/> <!-- 和spring整合後 environments將被廢除 --> <environments default="development"> <environment id="development"> <!-- 事務管理 --> <transactionManager type="JDBC"/> <!-- 資料庫連線池 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.userName}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments>
- 注意:mybatis將按照下面的順序來載入屬性
a) 在properties元素體內定義的屬性首先被讀取
b) 然後會讀取properties元素中resource或url載入的屬性,它會覆蓋已經讀取的同名屬性。
c) 最後讀取parameterType傳遞的屬性,他會覆蓋已讀取的同名屬性。
因此,通過parameterType傳遞的屬性具有最高的優先順序,resource或url載入的屬性次之。最低優先順序的是properties元素體內定義的屬性。
建議:
不要在properties元素體內新增任何屬性值,只將屬性值定義在properties檔案中。而且在properties檔案中定義屬性名要有一定的特殊性。如:
二、settings配置
Mybatis全域性配置引數。全域性配置引數會影響mybatis的執行行為。
三、typeAliases(別名)
針對parameterType和resultType指定的型別定義一些別名。簡化開發。
- 預設的別名
- 自定義別名 1)單個別名定義 2)批量別名定義(常用)指定包名,mybatis自動掃描包中的po類,自動定義別名,別名就是類名(首字母大寫小寫均可)。
<!-- 別名定義 -->
<typeAliases>
<!-- 單個別名定義 -->
<!-- <typeAlias type="com.kjgym.po.User" alias="user"/> -->
<!-- 批量別名定義 mybatis自動掃描包中的po類,自動定義別名,別名就是類名(首字母大寫小寫均可)。
常用 -->
<package name="com.kjgym.po"/>
</typeAliases>
四、 typeHandlers(型別處理器)
Mybatis自帶的型別處理器基本滿足日常開發需要,不需要單獨定義。
六、objectFactory(物件工廠)
七、plugins(外掛)
八、environments(環境集合屬性物件)
Environment(環境子屬性物件)
transationManager(事務管理)
dataSource(資料來源)