1. 程式人生 > >SqlMapConfig.xml中的setting屬性設定

SqlMapConfig.xml中的setting屬性設定

sqlmap-config.xml檔案

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
	<settings cacheModelsEnabled="true" enhancementEnabled="true"
		lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000"
		maxTransactions="3000" useStatementNamespaces="true" />
	
	<sqlMap resource="com/inspur/donate/service/donate/sqlmap/donate.xml"/>
	<sqlMap resource="com/inspur/donate/service/donate/sqlmap/orderdetail.xml"/>
</sqlMapConfig>

<!--

maxRequests
同時執行 SQL 語句的最大執行緒數。大於這個值的執行緒將阻塞直到另一個執行緒執行完成。不同的 DBMS有不同的限制值,但任何資料庫都有這些限制。通常這個值應該至少是maxTransactions(參見以下)的 10 倍,並且總是大於 maxSessions 和maxTranactions。減小這個引數值通常能提高效能。

例如:maxRequests=“256”
預設值:512

maxSessions
同一時間內活動的最大 session 數。一個 session 可以maxSessions是程式碼請求的顯式 session,也可以是當執行緒使用SqlMapClient 例項(即執行一條語句)自動獲得的session。它應該總是大於或等於 maxTransactions 並小於 maxRequests。減小這個引數值通常能減少記憶體使用。

例如:maxSessions=“64”
預設值:128

maxTransactions
同時進入 SqlMapClient.startTransaction()的最大執行緒maxTransactions 數。大於這個值的執行緒將阻塞直到另一個執行緒退出。不同的 DBMS 有不同的限制值,但任何資料庫都有這些限制。這個引數值應該總是小於或等於maxSessions 並總是遠遠小於 maxRequests。減小這個引數值通常能提高效能。

例如:maxTransactions=“16”
預設值:32

cacheModelsEnabled
全域性性地啟用或禁用 SqlMapClient 的所有快取cacheModelsEnabled model。除錯程式時使用。

例如:cacheModelsEnabled=“true”
預設值:true(啟用)

lazyLoadingEnabled
全域性性地啟用或禁用SqlMapClient的所有延遲載入。lazyLoadingEnabled 除錯程式時使用。
例子:lazyLoadingEnabled=“true”
預設值:true(啟用)

enhancementEnabled
全域性性地啟用或禁用執行時位元組碼增強,以優化訪enhancementEnabled
問Java Bean屬性的效能,同時優化延遲載入的效能。

例子:enhancementEnabled=“true”
預設值:false(禁用)

useStatementNamespaces
如果啟用本屬性,必須使用全限定名來引用 mapped useStatementNamespaces
statement。Mapped statement 的全限定名由 sql-map 的名稱和 mapped-statement 的名稱合成。例如: queryForObject("sqlMapName.statementName");

例如:useStatementNamespaces=“false”
預設值:false(禁用)

defaultStatementTimeout
此設定值必須為一個整數,作為JDBC連線超時的時間,這個值可以被任意一個對映檔案的statement屬性來重新設定,
如果沒有指明,查詢將無超時時間限制除非在對映檔案中設定statement屬性值。被設定的值以秒為單位等待連線失效

classInfoCacheEnabled
With this setting enabled, iBATIS will maintain a cache of introspected
classes. This will lead to a significant reduction in startup time if many
classes are reused.
例如: classInfoCacheEnabled=“true”
預設值: true (啟用)

statementCachingEnabled (iBATIS 2.3.0以後版本中有)
With this setting enabled, iBATIS will maintain a local cache of
prepared statements. This can lead to significant performance
improvements.
例如: statementCachingEnabled=“true”
預設值: true (啟用)
-->