設置參數 | 描述 | 有效值 | 默認值 |
cacheEnable | 該配置影響所有映射器中配置的緩存全局開關 | true、false | true |
lazyLoadingEnable | 延遲加載的全局開關。當它開啟時,所有關聯對象都會延遲加載。特定關聯關系中可通過設置fetchType屬性來覆蓋該項的開關狀態 | true、false | false |
aggressiveLazyLoading | 當啟用時,對任意延遲屬性對象的調用會使帶有延遲加載屬性的對象完整加載,反之每種屬性按需加載 | true、false | true |
multipleResultSets | 是否允許單一語句返回結果集(需要兼容驅動) | true、false | true |
useColumnLabel | 使用列標簽代替列名, | true、false | true |
useGenerateKeys | 允許JDBC自動生成主鍵,需要驅動兼容。如果設置為true,則強制自動生成主鍵 | true、false | false |
autoMappingBehavior | 指定mybatis應如何自動映射列到字段或屬性 PARTIAL:只會自動映射沒有定義嵌套結果集映射的結果集 FULL:自動映射任務復雜的結果集(無論是否嵌套) |
NONE、PARTILA、FULL | PARTIAL |
defaultExecutorType | 配置默認的執行器 REUSE:執行器會重復利用預處理語句(prepared statements) BATCH:執行器將重用語句並執行批量更新 |
SIMPLE、REUSE、BATCH | SIMPLE |
defaultStatementTimeout | 設置超時時間,它決定驅動等待數據相應的秒數。當沒有設置時它取得是驅動默認時間 | any position integer | |
safeRowBoundsEnabled | 允許在嵌套語句中使用分頁 | true、false | false |
mapUnderscoreToCamelCase | 是否開啟自動駝峰命名映射,即從數據庫列名A_COLUMN到JAVA屬性名aColumn的類似映射 | true、false | false |
localCacheScope | mybatis利用本地緩存機制(local cache)防止循環引用(circular references)和加速重復嵌套查詢。默認值是SESSIOn,這種情況下會緩存一個會話執行的所有查詢。若設置為STATEMENT,本地會話僅僅用在語句執行上,對相同的sqlSession的不同調用將不會共享數據 |
SESSION、STATEMENT | SESSION |
jdbcTypeForNull | 當沒有為參數提供特定的JDBC類型時,為空值指定JDBC類型 | 常見:NULL、VARCHAR、OTHER | OTHER |
lazyLoadTriggerMethod | 指定對象的方法觸發一次延遲加載 | 如果是一個方法列表,則用逗號隔開 | equals、clone、hashCode、 |
defaultScriptingLanguage | 指定動態SQL生成的默認語言 | 可以配置類的別名或者類的全限定名 | org.apach.ibatis. scripting.xmltags. XMLDynamicLang uageDriver |
callSettersOnNulls | 當指定結果集中的值為null時是否調用映射對象的setter(map對應的put)方法,這對於有Map.keyset()依賴或null值初始化的時候是有用的。注意基本數據類型(int、boolean等)是不能設置為null的 | true、false | false |
logPrefix | 指定mybatis增加到日志名稱的前綴 | 任何字符串 | 沒有設置 |
logImpl | 指定mybatis所用日志的具體實現,未指定時自動查找 | ||
proxyFactory | 指定mybatis創建具有延遲加載功能的對象所用到的代理工具 | CGLIB、JAVASSIST | 3.3.0版本以上JAVASSIST。,否則CHLIB |