我所知的Mybatis02————SqlMapConfig屬性配置研究
阿新 • • 發佈:2018-02-06
lazyload enable spa 單獨 .com 查詢 handlers 全局參數 false
,在關聯查詢時,利用延遲加載,先加載主信息。需要關聯信息時再去按需加載關聯信息。這樣會大大提高數據庫性能,因為查詢單表要比關聯查詢多張表速度要快。Mybatis默認是不開啟延遲加載功能的,我們需要手動開啟。
全部寫在<configuration>中,聽說該配置文件的中屬性的存放是有順序的,沒有辦法隨意的亂放,因為以後和spring整合,所以沒註意也不用註意,配置順序是
<properties> |
加載屬性文件 |
<settings> |
設置全局參數 |
<typeAliases> |
設置類型的別名 |
<typeHandlers> |
設置類型處理器 |
<objectFactory> |
設置對象工廠 |
<objectWrapperFactory> |
不知道 |
<reflectorFactory> |
沒用過 |
<plugins> |
設置插件 |
<environments> |
環境信息集合 |
<databaseIdProvider> |
多數據庫支持 |
<mappers> |
配置映射文件 |
1. properties加載屬性文件(被spring整合後就不用寫了)
可以將數據庫連接參數單獨配在db.properties(file類型)文件中,然後在SqlMapConfig.xml中加載db.properties的屬性值,這樣可以隨時變數據庫地址而不用改變代碼
例:db.properties:db.driver = com.mysql.jdbc.Driver xml:<property name="driverClass" value="${db.driver}"></property>
========================================================================================================================================
2. settings全局參數配置
開啟二級緩存和
延遲加載:延遲加載的意思是說
<!-- 配置延遲加載 -->
<settings>
<setting name="lazyLoadingEnabled" value="true"/> //全局性設置懶加載。如果設false,則所有相關聯的都會被初始化加載。默認為true
<setting name="aggressiveLazyLoading" value="false"/> //積極的懶加載,false的話按需加載
</settings>
未完待續
我所知的Mybatis02————SqlMapConfig屬性配置研究