<p><font size="2"></font></p> <pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑">ibatis配置文件 SqlMapConfig.xml </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2"><font face="微軟雅黑"><span style="color: #0000ff"><?</span>xml version="1.0" encoding="UTF-8" <span style="color: #0000ff">?></span> </font></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2"><font face="微軟雅黑"><span style="color: #0000ff"><</span>!DOCTYPE sqlMapConfig </font></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑">PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑">"http://www.ibatis.com/dtd/sql-map-config-2.dtd"<span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2"><font face="微軟雅黑"><span style="color: #0000ff"><</span><span style="color: #800000">sqlMapConfig</span><span style="color: #0000ff">></span> </font></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">settings</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">cacheModelsEnabled</span>=<span style="color: #0000ff">"true"</span> <!-- <span style="color: #ff0000">是否啓用SqlMapClient</span> <span style="color: #ff0000">上的緩存機制</span>。<span style="color: #ff0000">建議設爲</span>"<span style="color: #ff0000">true</span>" --<span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> enhancementEnabled="true" </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 是否針對POJO啓用字節碼加強機制以提高getter/setter的調用效能,避免使用Java Reflect所帶來的性能開銷。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 同時,這也爲Lazy Loading帶來了極大的性能提高。建議設爲"true" --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> lazyLoadingEnabled="true" <span style="color: #008000"><!-- 是否啓用延遲加載機制,建議設爲"true" --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> errorTracingEnabled="true" <span style="color: #008000"><!-- 是否啓用錯誤日誌,在開發期間建議設爲"true"以方便調試 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> maxRequests="32" <span style="color: #008000"><!-- 最大併發請求數(Statement 併發數) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> maxSessions="10" <span style="color: #008000"><!-- 最大Session 數。即當前最大容許的併發SqlMapClient 數。 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #008000"><!-- maxSessions設定必須介於maxTransactions和maxRequests之間,即maxTransactions<maxSessions=<maxRequests --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> maxTransactions="5" <span style="color: #008000"><!-- 最大併發事務數 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> useStatementNamespaces="false" </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 是否使用Statement命名空間。這裏的命名空間指的是映射文件中,sqlMap節點 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 的namespace屬性,如在上例中針對t_user表的映射文件sqlMap節點:<sqlMap namespace="User"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 這裏,指定了此sqlMap節點下定義的操做均從屬於"User"命名空間。在useStatementNamespaces="true"的情 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 況下,Statement調用需追加命名空間,如:sqlMap.update("User.updateUser",user); </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 不然直接經過Statement名稱調用便可,如:sqlMap.update("updateUser",user); </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 但請注意此時須要保證全部映射文件中,Statement定義無重名。 --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> /> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">transactionManager</span> <span style="color: #ff0000">type</span>=<span style="color: #0000ff">"JDBC"</span><span style="color: #0000ff">></span> <span style="color: #008000"><!-- 定義了ibatis 的事務管理器 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- SIMPLE 的配置用法 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <dataSource type="SIMPLE"> <!-- dataSource的實現類型 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> SIMPLE:簡單的數據庫聯接池實現 實現類爲 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> DBCP: 基於Apache DBCP 鏈接池組件實現的DataSource 封裝,當無容器提供DataSource 服務時, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 建議使用該選項,對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> JNDI:使用J2EE 容器提供的DataSource 實現,DataSource 將經過指定的JNDI Name 從容器中獲取。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Driver"</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"com.p6spy.engine.spy.P6SpyDriver"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- JDBC 驅動。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.ConnectionURL"</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"jdbc:mysql://localhost/sample"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫URL。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Username"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"user"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫用戶名(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Password"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"mypass"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫密碼 (SIMPLE,DBCP)--></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumActiveConnections"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"10"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接池可維持的最大容量。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumIdleConnections"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"5"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接池中容許的掛起(idle)鏈接數。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumCheckoutTime"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"120000"</span><span style="color: #0000ff">/></span> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 數據庫聯接池中,鏈接被某個任務所容許佔用的最大時間, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 若是超過這個時間限定,鏈接將被強制收回。(毫秒)(SIMPLE) --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.TimeToWait"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"500"</span><span style="color: #0000ff">/></span> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 當線程試圖從鏈接池中獲取鏈接時,鏈接池中無可用鏈接可供使用, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 此時線程將進入等待狀態,直到池中出現空閒鏈接。此參數設定了線程所允 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 許等待的最長時間。(毫秒)(SIMPLE) --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.PingQuery"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"select 1 from ACCOUNT"</span><span style="color: #0000ff">/></span> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 數據庫鏈接狀態檢測語句。某些數據庫在鏈接在某段時間持續處於空閒狀態 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 時會將其斷開。而鏈接池管理器將經過此語句檢測池中鏈接是否可用。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 檢測語句應該是一個最簡化的無邏輯SQL。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 如「select 1 from t_user」,若是執行此語句成功, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 鏈接池管理器將認爲此鏈接處於可用狀態。(SIMPLE) --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.PingEnabled"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"false"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 是否容許檢測鏈接狀態。(SIMPLE) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.PingConnectionsOlderThan"</span><span style="color: #ff0000">value</span>=<span style="color: #0000ff">"1"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 對持續鏈接時間超過設定值(毫秒)的鏈接進行檢測 (SIMPLE)--></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.PingConnectionsNotUsedFor"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"1"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 對空閒超過設定值(毫秒)的鏈接進行檢測。(SIMPLE) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"></</span><span style="color: #800000">dataSource</span><span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> --> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- DBCP 的配置用法 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <dataSource type="SIMPLE"> <!-- dataSource的實現類型 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> SIMPLE:簡單的數據庫聯接池實現 實現類爲 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> DBCP: 基於Apache DBCP 鏈接池組件實現的DataSource 封裝,當無容器提供DataSource 服務時, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 建議使用該選項,對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> JNDI:使用J2EE 容器提供的DataSource 實現,DataSource 將經過指定的JNDI Name 從容器中獲取。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Driver"</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"com.p6spy.engine.spy.P6SpyDriver"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- JDBC 驅動。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.ConnectionURL"</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"jdbc:mysql://localhost/sample"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫URL。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Username"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"user"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫用戶名(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"JDBC.Password"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"mypass"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫密碼 (SIMPLE,DBCP)--></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumActiveConnections"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"10"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接池可維持的最大容量。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumIdleConnections"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"5"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接池中容許的掛起(idle)鏈接數。(SIMPLE,DBCP) --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.MaximumWait"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"1000"</span><span style="color: #0000ff">/></span> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 當線程試圖從鏈接池中獲取鏈接時,鏈接池中無可用鏈接可供使用,此時線程將進入等待狀態, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 直到池中出現空閒鏈接。此參數設定了線程所容許等待的最長時間。(毫秒) --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">naem</span>=<span style="color: #0000ff">"Pool.ValidationQuery"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"select 1 from ACCOUNT"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接狀態檢測語句。--></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.LogAbandoned"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"false"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 當數據庫鏈接被廢棄時,是否打印日誌 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.RemoveAbandonedTimeout"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"1000"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 數據庫鏈接被廢棄的最大超時時間 --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"Pool.RemoveAbandoned"</span> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"true"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- 當鏈接空閒時間超過RemoveAbandonedTimeout時,是否將其廢棄。--></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"></</span><span style="color: #800000">dataSource</span><span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> --> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- JNDI 的配置用法 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <dataSource type="JNDI"> <!-- dataSource的實現類型 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> SIMPLE:簡單的數據庫聯接池實現 實現類爲 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> DBCP: 基於Apache DBCP 鏈接池組件實現的DataSource 封裝,當無容器提供DataSource 服務時, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 建議使用該選項,對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> JNDI:使用J2EE 容器提供的DataSource 實現,DataSource 將經過指定的JNDI Name 從容器中獲取。 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 對應ibatis 實現類爲com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。 --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">property</span> <span style="color: #ff0000">name</span>=<span style="color: #0000ff">"DataSource"</span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #ff0000">value</span>=<span style="color: #0000ff">"java:comp/env/jdbc/myDataSource"</span><span style="color: #0000ff">/></span> <span style="color: #008000"><!-- JNDI --></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"></</span><span style="color: #800000">dataSource</span><span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> --> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- 使用容器提供的JTA服務實現全局事務管理。的設置 </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <transactionManager type="JTA" > </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <property name="UserTransaction" </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> value="java:/ctx/con/UserTransaction"/> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <dataSource type="JNDI"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <property name="DataSource" </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> value="java:comp/env/jdbc/myDataSource"/> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </dataSource> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </transactionManager> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"></</span><span style="color: #800000">transactionManager</span><span style="color: #0000ff">></span> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> <span style="color: #0000ff"><</span><span style="color: #800000">sqlMap</span> <span style="color: #ff0000">resource</span>=<span style="color: #0000ff">"com/ibatis/sample/User.xml"</span><span style="color: #0000ff">/></span> </font><span style="color: #008000"><font size="2" face="微軟雅黑"><!-- sqlMap 節點指定了映射文件的位置,配置中可出現多個sqlMap 節點, </font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"> 以指定項目內所包含的全部映射文件。 --></font></span> </pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2" face="微軟雅黑"></font></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 10px"><font size="2"><font face="微軟雅黑"><span style="color: #0000ff"></</span><span style="color: #800000">sqlMapConfig</span><span style="color: #0000ff">></span></font></font></pre></pre>java