這篇文章主要為大家介紹了關於mybatis中setting配置的相關資料,文中透過範例程式碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
在mybaits中,setting的的設定參數如下(如果不在設定檔中設定將使用預設值):
設定參數 | 描述 | 有效值 | 預設值 |
cacheEnabled | 該配置影響的所有映射器中配置的快取的全域開關 | true | false | true |
lazyLoadingEnabled | 延遲載入的全域開關。當開啟時,所有關聯物件都會延遲載入。 特定關聯關係中可透過設定fetchType屬性來覆寫該項目的開關狀態 | #true | false | false |
## aggressiveLazyLoading | 當啟用時,對任意延遲屬性的呼叫會使具有延遲載入屬性的物件完整載入;反之,每個屬性將會按需載入。 | true | false | |
multipleResultSetsEnabled | 是否允許單一語句傳回多結果集(需要相容驅動)。 | true | false | |
useColumnLabel | 使用列標籤取代列名。不同的驅動在這方面會有不同的表現, 具體可參考相關驅動文件或透過測試這兩種不同的模式來觀察所用驅動的結果。 | true | false | |
useGeneratedKeys | 允許 JDBC 支援自動產生主鍵,需要驅動相容。 如果設定為 true 則這個設定強制使用自動產生主鍵,儘管有些驅動無法相容但仍可正常運作(例如 Derby)。 | true | false | |
#autoMappingBehavior | 指定 MyBatis 應如何自動對應列到欄位或屬性。 NONE 表示取消自動對應;PARTIAL 只會自動對應沒有定義巢狀結果集對應的結果集。 FULL 會自動對應任意複雜的結果集(無論是否為巢狀)。 | NONE, PARTIAL, FULLPARTIAL | |
#defaultExecutorType | 設定預設的執行器。 SIMPLE 就是普通的執行器;REUSE 執行器會重複使用預處理語句(prepared statements); BATCH 執行器會重複使用語句並執行批次更新。 | SIMPLE REUSE BATCHSIMPLE | |
設定逾時時間,它決定驅動等待資料庫回應的秒數。 | Any positive | integer | Not Set (null) |
defaultFetchSize | Sets the driver a hint as to control fetching size for | return | results. This parameter value can be override by a query setting.Any positive integer |
Any positive integer | ##Not Set (null)##safeRowBoundsEnabled | 允許在巢狀語句中使用分頁(RowBounds)。 | true | false |
#mapUnderscoreToCamelCase | 是否開啟自動駝峰命名規則(camel case)映射,即從經典資料庫列名A_COLUMN 到經典Java 屬性名aColumn 的類似對映。 | true | false | |
localCacheScope | MyBatis 利用本機快取機制(Local Cache)防止循環引用(circular references )和加速重複嵌套查詢。 預設值為 | SESSION | ,這種情況下會快取一個會話中執行的所有查詢。 若設定值為 STATEMENT,本機會話僅用在語句執行上,對相同 SqlSession 的不同呼叫將不會共享資料。|
SESSION | jdbcTypeForNull | 當沒有為參數提供特定的JDBC 類型時,為空值指定JDBC 類型。 某些驅動程式需要指定列的 JDBC 類型,多數情況直接用一般類型即可,例如 NULL、VARCHAR 或 OTHER。 | |
OTHER | lazyLoadTriggerMethods | #指定哪個物件的方法觸發一次延遲載入。 | |
equals,clone,hashCode,toString | defaultScriptingLanguage | 指定動態SQL 產生的預設語言。 | |
org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver | #########callSettersOnNulls##### #指定當結果集中值為null 的時候是否呼叫映射物件的setter(map 物件時為put)方法,這對於有Map.keySet() 依賴或null 值初始化的時候是有用的。注意基本型別(int、boolean等)是不能設定成 null 的。 ######true | false######false#############logPrefix######指定 MyBatis 增加到日誌名稱的前綴。 ######Any String######Not set#############logImpl#######指定 MyBatis 所用日誌的具體實現,未指定時將自動查找。 | SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING | #Not set |
proxyFactory | ##Not 建立具有指定 | proxyFactory | ##Not延遲載入能力的物件所用到的代理工具。 |
例如我在專案中的設定一般如下:<settings>
<setting name="jdbcTypeForNull" value="NULL" />
<setting name="logImpl" value="SLF4J" />
<setting name="mapUnderscoreToCamelCase" value="true" />
<setting name="defaultExecutorType" value="BATCH" />
</settings>
<br>#注意點:
<configuration> <settings> <setting name="logImpl" value="LOG4J"/> </settings> </configuration>
以上是java mybatis中的setting配置實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!