小編給大家分享一下iBATIS SQLMap如何配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
iBATIS的SQLMap配置文件是XML形式,一般叫SqlMapConfig.xml,如下:
Xml代碼
﹤?xml version="1.0" encoding="UTF-8"?﹥ ﹤!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0/" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"﹥ ﹤sqlMapConfig﹥ ﹤!--settings配置是可選的,用來控制sqlMapping的詳細配置,主要是事務處理。參數具體含義請參考ibatis開發指南--﹥ ﹤settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /﹥ ﹤!--使用SimpleDataSource配置數據源,DataSource的iBATIS實現:SimpleDataSource類,Jakarta DBCP(Commons),和可通過JNDI上下文查找的DataSource(即應用服務器中的DataSource)--﹥ ﹤transactionManager type="JDBC"﹥ ﹤dataSource type="SIMPLE"﹥ ﹤property name="JDBC.Driver" value="com.mysql.jdbc.Driver" /﹥ ﹤property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/jpetstore?" /﹥ ﹤property name="JDBC.Username" value="root" /﹥ ﹤property name="JDBC.Password" value="" /﹥ ﹤property name="Pool.MaximumActiveConnections" value="10" /﹥ ﹤property name="Pool.MaximumIdleConnections" value="5" /﹥ ﹤property name="Pool.MaximumCheckoutTime" value="120000" /﹥ ﹤property name="Pool.TimeToWait" value="500" /﹥ ﹤property name="Pool.PingQuery" value="select 1 from ACCOUNT" /﹥ ﹤property name="Pool.PingEnabled" value="false" /﹥ ﹤property name="Pool.PingConnectionsOlderThan" value="1" /﹥ ﹤property name="Pool.PingConnectionsNotUsedFor" value="1" /﹥ ﹤/dataSource﹥ ﹤/transactionManager﹥ ﹤!--引入所有的SQL Map配置文件,這里的路徑是classpath的相對路徑,例如下面的配置說明引入Account.xml,位置在com/quqworld/test/ibatis包內--﹥ ﹤sqlMap resource="com/quqworld/test/ibatis/Account.xml" /﹥ ﹤/sqlMapConfig﹥
接下來是iBATIS SQLMap映射文件Account.xml:
Xml代碼
﹤?xml version="1.0" encoding="UTF-8"?﹥ ﹤!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"﹥ ﹤sqlMap namespace="Account"﹥ ﹤!--在SQL Map框架中,Result Map是極其重要的組件。在執行查詢Mapped Statement時,resultMap負責將結果集的列值映射成Java Bean的屬性值。--﹥ ﹤resultMap id="result" class="org.springframework.samples.jpetstore.domain.Account"﹥ ﹤result property="username" column="userid" columnIndex="1" /﹥ ﹤result property="email" column="email" columnIndex="2" /﹥ ﹤result property="firstName" column="firstname" columnIndex="3" /﹥ ﹤result property="lastName" column="lastname" columnIndex="4" /﹥ ﹤result property="status" column="status" columnIndex="5" /﹥ ﹤result property="address1" column="addr1" columnIndex="6" /﹥ ﹤result property="address2" column="addr2" columnIndex="7" /﹥ ﹤result property="city" column="city" columnIndex="8" /﹥ ﹤result property="state" column="state" columnIndex="9" /﹥ ﹤result property="zip" column="zip" columnIndex="10" /﹥ ﹤result property="country" column="country" columnIndex="11" /﹥ ﹤result property="phone" column="phone" columnIndex="12" /﹥﹤/resultMap﹥ ﹤select id="getAllAccountByUserid" resultMap="result"﹥ select account.userid, account.email, account.firstname, account.lastname, account.status, account.addr1, account.addr2, account.city, account.state, account.zip, account.country, account.phone from account where account.userid=#value# ﹤/select﹥ ﹤/sqlMap﹥
下面是iBATIS SQLMap的Java代碼:
Java代碼
try { String resource = "com/quqworld/test/ibatis/SqlMapConfig.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); Object object = sqlMap.queryForObject( "getAllAccountByUserid", "ACID",new Account()); System.out.println("select result: " +object); } catch (Exception e) { e.printStackTrace(); }
iBATIS SQLMap的配置Demo就向你介紹到這里,希望對你有所幫助。
以上是“iBATIS SQLMap如何配置”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。