二、全局配置

詳情(官方中文文檔)


全局配置

一 根標(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
  • class
    • 引用(注冊)接口
    1. 映射文件和接口必須同名同目錄
    2. 注解的形式
      例如:
@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 批量注冊

  1. 接口名稱和xml名稱必須一模一樣
  2. 批量時(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>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容