全局配置
一 根標(biāo)簽
configuration根標(biāo)簽
1.引入外部配置
properties 引入外部配置文件
<properties resource="dbconfig.propertise"></properties>
2. setting 其他設(shè)置
<settings>
<setting name="_" value="_" />
</settings>
2.1駝峰命名法
name="mapUnderscoreToCamelCase"
value="true"
2.2別名處理
- 可以為java類型起別名
- 別名不區(qū)分大小寫
<typeAliases>
...
</tpeAliases>
2.2.1逐個(gè)別名
<typeAlias type="com.po.Student" alias="Student"/>
2.2.2批量別名
<!-- 批量別名,使用類名作為別名 -->
<package name="com.po"/>
2.2.3批量別名(指定別名)
- 類名重復(fù)時(shí)
- 使用@Alias注解為類指定別名
已經(jīng)默認(rèn)的別名
Alias Mapped Type
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal
object Object
map Map
hashmap HashMap
list List
arraylist ArrayList
collection Collection
iterator Iterator
3. MyBatis環(huán)境environments
環(huán)境environment
- 屬性 :
id=""表示 - 標(biāo)簽
-
<transactionManager type="JDBC|MANAGED" />事務(wù)管理器 <dataSource type="UNPOOL|POOLED|JNDI" />
-
3.1數(shù)據(jù)庫JDBC & POOLED
${jdbc.driver}使用這種形式獲取外部配置文件的值
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.usersname}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
4. 映射器mappers
-
resource- 引用類路徑下的sql映射文件
-
url- 引用網(wǎng)絡(luò)路徑或者磁盤路徑下的sql映射文件
`file:///var/mapper/XxxMapper.xml
- 引用網(wǎng)絡(luò)路徑或者磁盤路徑下的sql映射文件
-
class- 引用(注冊)接口
- 映射文件和接口必須同名同目錄
- 注解的形式
例如:
@Select("select * from student")
方法...
4.1 類路徑注冊
<!-- 使用相對于類路徑的資源引用 -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
4.2URL路徑注冊
<!-- 使用完全限定資源定位符(URL) -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
4.3 指定接口注冊
<!-- 使用映射器接口實(shí)現(xiàn)類的完全限定類名 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
4.4 批量注冊
- 接口名稱和xml名稱必須一模一樣
- 批量時(shí) xml 和 接口必須 放在同包里
例如 :
IUsersMapper.xml
IUsersMapper.java
<!-- 將包內(nèi)的映射器接口實(shí)現(xiàn)全部注冊為映射器 -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
批量時(shí) xml 和 接口必須 放在同包里
懶加載 :全局配置設(shè)置
-
lazyLoadingEnabled延遲加載的全局開關(guān)。當(dāng)開啟時(shí),所有關(guān)聯(lián)對象都會(huì)延遲加載. -
aggressiveLazyLoading當(dāng)開啟時(shí),任何方法的調(diào)用都會(huì)加載該對象的所有屬性。否則,每個(gè)屬性會(huì)按需加載.
<settings>
<!-- 延遲加載的全局開關(guān)。當(dāng)開啟時(shí),所有關(guān)聯(lián)對象都會(huì)延遲加載。
默認(rèn)值:false
-->
<setting name="lazyLoadingEnabled " value="true"/>
<!-- 當(dāng)開啟時(shí),任何方法的調(diào)用都會(huì)加載該對象的所有屬性。
默認(rèn)值:false
-->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>