MyBatis 实际使用案例-settings
生活随笔
收集整理的這篇文章主要介紹了
MyBatis 实际使用案例-settings
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最后settings 我們來單獨說一下,因為MyBatis 的一些最關鍵的配置都在這個標簽里面(只講解一些主要的)。
| 屬性名 | 含義 | 簡介 | 有效值 | 默認值 |
| cacheEnabled | 是否使用緩存 | 是整個工程中所有映射器配置緩存的 開關,即是一個全局緩存開關 | true/false | true |
| lazyLoadingEnabled | 是否開啟延遲加載 | 控制全局是否使用延遲加載 (association、collection)。當有 特殊關聯關系需要單獨配置時,可以使 用fetchType 屬性來覆蓋此配置 | true/false | false |
| aggressiveLazyLoadi ng | 是否需要侵入式延 遲加載 | 開啟時,無論調用什么方法加載某個對 象,都會加載該對象的所有屬性,關閉 之后只會按需加載 | true/false | false |
| defaultExecutorType | 設置默認的執行器 | 有三種執行器:SIMPLE 為普通執行器; REUSE 執行器會重用與處理語句; BATCH 執行器將重用語句并執行批量 更新 | SIMPLE/REUSE/BAT CH | SIMPLE |
| lazyLoadTriggerMeth ods | 指定哪個對象的方 法觸發一次延遲加 載 | 配置需要觸發延遲加載的方法的名字, 該方法就會觸發一次延遲加載 | 一個逗號分隔的方 法名稱列表 | equals, clone, hashCode, toString |
| localCacheScope | MyBatis 利用本地 緩存機制(Local Cache)防止循環引 用(circular references)和加 速重復嵌套查詢 | 默認值為SESSION,這種情況下會緩存 一個會話中執行的所有查詢。若設置值 為STATEMENT,本地會話僅用在語句執 行上,對相同SqlSession 的不同調用 將不會共享數據 | SESSION/STATEMEN T | SESSION |
| logImpl | 日志實現 | 指定MyBatis 所用日志的具體實現,未 指定時將自動查找 | SLF4J、LOG4J、 LOG4J2、 JDK_LOGGING、 COMMONS_LOGGING、 STDOUT_LOGGING、 NO_LOGGING | 無 |
| multipleResultSetsE nabled | 是否允許單一語句 返回多結果集 | 即Mapper 配置中一個單一的SQL 配置 是否能返回多個結果集 | true/false | true |
| useColumnLabel | 使用列標簽代替列 名 | 設置是否使用列標簽代替列名 | true/false | true |
| useGeneratedKeys | 是否支持JDBC 自 動生成主鍵 | 設置之后,將會強制使用自動生成主鍵 的策略 | true/false | false |
| autoMappingBehavior | 指定MyBatis 自動映射字段或屬性的 方式 | 有三種方式,NONE 時將取消自動映射;PARTIAL 時只會自動映射沒有定義結 果集的結果映射;FULL 時會映射任意 復雜的結果集 | NONE/PARTIAL/FULL | PARTIAL |
| autoMappingUnknownC olumnBehavior | 設置當自動映射時 發現未知列的動作 | 有三種動作:NONE 時不做任何操作; WARNING 時會輸出提醒日志;FAILING 時會拋出SqlSessionException 異常 表示映射失敗 | NONE/WARNING/FAI LING | NONE |
| defaultStatementTim eout | 設置超時時間 | 該超時時間即數據庫驅動連接數據庫 時,等待數據庫回應的最大秒數 | 任意正整數 | 無 |
| defaultFetchSize | 設置驅動的結果集 獲取數量 (fetchSize)的提 示值 | 為了防止從數據庫查詢出來的結果過 多,而導致內存溢出,可以通過設置 fetchSize 參數來控制結果集的數量 | 任意正整數 | 無 |
| safeRowBoundsEnable d | 允許在嵌套語句中 使用分頁 (RowBound,即行 內嵌套語句) | 如果允許在SQL 的行內嵌套語句中使 用分頁,就設置該值為false | true/false | false |
| safeResultHandlerEn abled | 允許在嵌套語句中 使用分頁 (ResultHandler, 即結果集處理) | 如果允許在SQL 的結果集使用分頁,就 設置該值為false | true/false | true |
| mapUnderscoreToCame lCase | 是否開啟駝峰命名 規則(camel case) 映射 | 表明數據庫中的字段名稱與工程中 Java 實體類的映射是否采用駝峰命名 規則校驗 | true/false | false |
| jdbcTypeForNull | JDBC 類型的默認設 置 | 當沒有為參數提供特定的JDBC 類型 時,為空值指定JDBC 類型。某些驅動 需要指定列的JDBC 類型,多數情況直 接用一般類型即可,比如NULL、 VARCHAR 或OTHER | 常用NULL、 VARCHAR、OTHER | OTHER |
| defaultScriptingLan guage | 動態SQL 默認語言 | 指定動態SQL 生成的默認語言 | 指定動態SQL 生成的默認語言一個類型別名或者 一個類的全路徑名 | org.apach e.ibatis. scripting .xmltags. XMLLangua geDriver |
| callSettersOnNulls | 是否在控制情況下 調用Set 方法 | 指定當結果集中值為null 時是否調用 映射對象的setter(map 對象時為put) 方法,這對于有Map.keySet()依賴或 null 值初始化時是有用的。注意基本 類型是不能設置成null 的 | true/false | false |
| returnInstanceForEm ptyRow | 返回空實體集對象 | 當返回行的所有列都是空時,MyBatis 默認返回null。當開啟這個設置時, MyBatis 會返回一個空實例。請注意, 它也適用于嵌套的結果集(從 MyBatis3.4.2 版本開始) | true/false | false |
| logPrefix | 日志前綴 | 指定MyBatis 所用日志的具體實現,未 指定時將自動查找 | 任意字符串 | 無 |
| vfsImpl | vfs 實現 | 指定vfs 的實現 | 自定義VFS 的實現 的類的全限定名, 以逗號分隔 | 無 |
| useActualParamName | 使用方法簽名 | 使用方法簽名允許使用方法簽名中的名稱作為語句 參數名稱。要使用該特性,工程必須采 用Java8 編譯,并且加上-parameters 選項(從MyBatis3.4.1 版本開始) | 自定義VFS 的實現 的類的全限定名, 以逗號分隔 | 無 |
| configurationFactor y | 配置工廠 | 指定提供配置示例的類。返回的配置實 例用于加載反序列化的懶加載參數。這 個類必須有一個簽名的靜態配置 getconfiguration()方法(從 MyBatis3.2.3 版本開始) | 一個類型別名或者 一個類型的全路徑 名 | 無 |
?
總結
以上是生活随笔為你收集整理的MyBatis 实际使用案例-settings的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 实际使用案例-mappe
- 下一篇: MyBatis 实际使用案例-Mappe