Mybatis優化配置!
阿新 • • 發佈:2020-12-18
4、配置解析
4.1、核心配置檔案(20-12-17)
- mybatis-config.xml
- MyBatis 的配置檔案包含了會深深影響 MyBatis 行為的設定和屬性資訊。
configuration(配置) properties(屬性) settings(設定) typeAliases(類型別名) typeHandlers(型別處理器) objectFactory(物件工廠) plugins(外掛) environments(環境配置) environment(環境變數) transactionManager(事務管理器) dataSource(資料來源) databaseIdProvider(資料庫廠商標識) mappers(對映器)
4.2、環境配置(environments)
MyBatis 可以配置成適應多種環境
不過要記住:儘管可以配置多個環境,但每個 SqlSessionFactory 例項只能選擇一種環境。
學會使用配置多要執行環境!
Mybatis預設的事務管理器是JDBC, 連線池 : POOLED
4.3、屬性(properties)
我們可以使用properties屬性來實現引用配置檔案!
這些屬性可以在外部進行配置,並可以進行動態替換。你既可以在典型的 Java 屬性檔案中配置這些屬性,也可以在 properties 元素的子元素中設定。
編寫一個配置檔案
db.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8 username=root password=123456
在核心配置檔案中引入
<!--引入外部配置檔案-->
<properties resource="db.properties">
<property name="username" value="root"/>
<property name="password" value="111111"/>
</properties>
- 可以直接引入外部檔案
- 可以在其中增加一些屬性配置
- 如果兩個檔案有同一個欄位,優先使用外部配置檔案的!
4.4、類型別名(typeAliases)
- 類型別名可為 Java 型別設定一個縮寫名字。
- 意在降低冗餘的全限定類名書寫。
<!--可以給實體類起別名-->
<typeAliases>
<typeAlias type="com.kuang.pojo.User" alias="User"/>
</typeAliases>
也可以指定一個包名,MyBatis 會在包名下面搜尋需要的 Java Bean,比如:
掃描實體類的包,它的預設別名就為這個類的 類名,首字母小寫!
<!--可以給實體類起別名-->
<typeAliases>
<package name="com.kuang.pojo"/>
</typeAliases>
在實體類比較少的時候,使用第一種方式。
如果實體類十分多,建議使用第二種。
第一種可以DIY別名,第二種則不行,如果非要改,需要在實體類上增加註解
@Alias("user")
public class user {}
4.5、設定(settings)
這是 MyBatis 中極為重要的調整設定,它們會改變 MyBatis 的執行時行為。
logImpl | 指定 MyBatis 所用日誌的具體實現,未指定時將自動查詢。 | ||
---|---|---|---|
cacheEnabled | 全域性性地開啟或關閉所有對映器配置檔案中已配置的任何快取。 | true/false | true |
lazyLoadingEnabled | 延遲載入的全域性開關。當開啟時,所有關聯物件都會延遲載入。 特定關聯關係中可通過設定 fetchType 屬性來覆蓋該項的開關狀態。 |
true/false | false |