全局配置
一 根標簽
configuration
根標簽
1.引入外部配置
properties
引入外部配置文件
<properties resource="dbconfig.propertise"></properties>
2. setting 其他設置
<settings>
<setting name="_" value="_" />
</settings>
2.1駝峰命名法
name
="mapUnderscoreToCamelCase"
value
="true"
2.2別名處理
- 可以為java類型起別名
- 別名不區分大小寫
<typeAliases>
...
</tpeAliases>
2.2.1逐個別名
<typeAlias type="com.po.Student" alias="Student"/>
2.2.2批量別名
<!-- 批量別名,使用類名作為別名 -->
<package name="com.po"/>
2.2.3批量別名(指定別名)
- 類名重復時
- 使用@Alias注解為類指定別名
已經默認的別名
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環境environments
環境environment
- 屬性 :
id=""
表示 - 標簽
-
<transactionManager type="JDBC|MANAGED" />
事務管理器 <dataSource type="UNPOOL|POOLED|JNDI" />
-
3.1數據庫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
- 引用網絡路徑或者磁盤路徑下的sql映射文件
`file:///var/mapper/XxxMapper.xml
- 引用網絡路徑或者磁盤路徑下的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 指定接口注冊
<!-- 使用映射器接口實現類的完全限定類名 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
4.4 批量注冊
- 接口名稱和xml名稱必須一模一樣
- 批量時 xml 和 接口必須 放在同包里
例如 :
IUsersMapper.xml
IUsersMapper.java
<!-- 將包內的映射器接口實現全部注冊為映射器 -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
批量時 xml 和 接口必須 放在同包里
懶加載 :全局配置設置
-
lazyLoadingEnabled
延遲加載的全局開關。當開啟時,所有關聯對象都會延遲加載. -
aggressiveLazyLoading
當開啟時,任何方法的調用都會加載該對象的所有屬性。否則,每個屬性會按需加載.
<settings>
<!-- 延遲加載的全局開關。當開啟時,所有關聯對象都會延遲加載。
默認值:false
-->
<setting name="lazyLoadingEnabled " value="true"/>
<!-- 當開啟時,任何方法的調用都會加載該對象的所有屬性。
默認值:false
-->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>