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