<bean id="sqlMapClient" class="com.paic.pafa.app.lwc.service.persistence.dao.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <description>iBATIS SQL Mapping配置文件名,系统要可以在CLASSPATH中找到该文件</description> <value>sqlmap-config.xml</value> </property> <property name="maxRowCount"> <description>iBATIS 查询数据库的最大数据库记录行数. 默认为5000 </description> <value>${ibatis.query.maxrowcount}</value> </property> <property name="excludeStatements"> <description>不使用系通通一配置的结果集的语句</description> <list> </list> </property> <property name="maxRowCount4Excludes"> <description>excludeStatements中的sql查询数据库的最大记录行数.默认为5000</description> <value>${ibatis.query.maxRowCount4Excludes}</value> </property> <property name="isThrowExcept"> <description> 配置当结果集超过限制值后,系统是抛出异常仍是返回限制范围内的数据。 true:抛出异常 false:返回限制范围内的数据 默认为true. </description> <value>TRUE</value> </property> </bean>
sqlmap-config.xml java
<sqlMapConfig> <!-- 参数说明: cacheModelsEnabled: 启用或禁用SqlMapClient的全部缓存model。调试程序时使用。 enhancementEnabled: 启用或禁用运行时字节码加强,以优化访问Java Bean属性的性能,同时优化延迟加载 的性能。 lazyLoadingEnabled: 启用或禁用SqlMapClient的全部延迟加载。调试程序时使用。 maxRequests: 同时执行SQL语句的最大线程数。大于这个值的线程将阻塞直到另外一个线程执行完成。 不一样的DBMS有不一样的限制值,但任何数据库都有这些限制。一般这个值应该至少是 maxTransactions的10倍,而且老是大于maxSessions和maxTranactions。减少这个参数值一般能提升性能。 maxSessions: 同一时间内活动的最大session数。一个session能够是代码请求的显式session, 也能够是当线程使用SqlMapClient实例(即执行一条语句)自动得到的session。 它应该老是大于或等于maxTransactions并小于maxRequests。减少这个参数值一般能 减小内存使用。 maxTransactions: 同时进入SqlMapClient.startTransaction()的最大线程数。大于这个值的线程将阻塞 直到另外一个线程退出。不一样的DBMS有不一样的限制值,但任何数据库都有这些限制。这个 参数值应该老是小于或等于maxSessions并老是远远小于maxRequests。减少这个参数值 一般能提升性能。 useStatementNamespaces: 若是启用本属性,必须使用全限定名来引用mapped statement。Mapped statement的 全限定名由sql-map的名称和mapped-statement的名称合成,例如 queryForObject(“sqlMapName.statementName”) --> <settings cacheModelsEnabled="true" enhancementEnabled="false" lazyLoadingEnabled="false" maxRequests="3000" maxSessions="3000" maxTransactions="3000" useStatementNamespaces="false"/> <!-- 添加sql map文件。当一个SQL Map文件太大的时候,能够拆分红若干个小的文件。 建议按照模块拆分sql map文件,好比sqlmap-mapping-module-a.xml, sqlmap-mapping-module-a.xml。<property name="Driver.SetBigStringTryClob" value="true"/> 命名规范为:sqlmap-mapping-模块名.xml(所有小写) <sqlMap resource="sqlmap-mapping-bankvirement.xml"/> --> <sqlMap resource="sqlmap-mapping-privilege.xml"/> <sqlMap resource="sqlmap-mapping-worktable.xml"/> <sqlMap resource="sqlmap-mapping-workflow.xml"/> <sqlMap resource="sqlmap-mapping-print.xml"/> <sqlMap resource="sqlmap-mapping-newbusiness.xml"/> </sqlMapConfig>
<bean id="idGeneratorDAO" class="com.palic.egis.common.integration.dao.impl.IdGeneratorIbatisDAO"> <description>用于生成Sequence ID的DAO</description> <property name="dataSource"> <ref local="dsFactory"/> </property> <property name="sqlMapClient"> <ref local="sqlMapClient"/> </property> <property name="useRandomSequence"> <description> 若是为true将随机产生序号,而不经过Oracle的package来获得。 做为演示使用。添加这个配置的做用是演示能够经过在context配置文件 中添加本身的配置。 </description> <value>false</value> </property> </bean>
public class IdGeneratorIbatisDAO extends SqlMapClientDaoSupport implements IdGeneratorDAO
SqlMapClientTemplate sqlMap = getSqlMapClientTemplate(); sqlMap.queryForObject("generateSequence", map);
<bean id="dsFactory" class="com.paic.pafa.app.lwc.service.persistence.datasource.DataSourceFactoryBean" > <property name="defaultDSKey"> <description>缺省的数据源,必须指定为下面map中的entry key之一</description> <value>GBSDS</value> </property> <property name="dataSources"> <description>能够在map属性里面添加多个数据源</description> <map> <entry key="GBSDS"> <ref local="defaultDS"/> </entry> <entry key="GBSDS_XA"> <ref local="gbsDS_XA"/> </entry> </map> </property> </bean> <bean id="defaultDS" class="com.paic.pafa.app.lwc.core.naming.JndiObjectFactoryBean"> <property name="jndiName"> <value>${defaultDS}</value> </property> <property name="jndiTemplate"> <ref local="jndiTemplate"/> </property> </bean> context-egis-nbu.properties defaultDS=jdbc/egis/gbsds biz-context.xml <!-- JNDI定义 --> <bean id="jndiTemplate" class="com.paic.pafa.app.lwc.core.naming.JndiTemplate"> <description>定义一个用做模板的JNDI,能够被其它bean引用</description> <property name="environment"> <props> <prop key="java.naming.provider.url">${egis.txnActionBean.jndi.url}</prop> <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory</prop> </props> </property> </bean> context-egis-nbu.properties #egis的TxnActionBean JNDI配置,确定是localhost ,可是须要指定端口 egis.txnActionBean.jndi.url=t3://localhost:43962