一、ibatis的sql.xml文件
<sqlMap>
<!-- 为类起别名-->
<typeAlias type="com.dto.MarketProductInfoDTO" alias="MarketProductInfoDTO"/>
<!-- 查询语句-->
<select id="productExtend.queryMarketProductList" resultClass="MarketProductInfoDTO" parameterClass="MarketProductInfoDTO">
select m.id_marketproduct_info id,
m.marketproduct_code marketProductCode,
m.marketproduct_name marketProductName,
m.version
from marketproduct_info m
where m.status = ‘1‘
<isNotEmpty prepend=" and " property="idTechnicProductInfo">
m.id_technic_product_info = #idTechnicProductInfo#
</isNotEmpty>
<isNotEmpty prepend=" and " property="productClass">
m.product_class = #productClass#
</isNotEmpty>
<isNotEmpty prepend=" and " property="marketProductCode">
<![CDATA[
(m.marketproduct_code like ‘%‘ || #marketProductCode# || ‘%‘ or m.marketproduct_name like ‘%‘ ||
#marketProductCode# || ‘%‘)
]]>
</isNotEmpty>
order by m.marketproduct_code
</select>
<!-- 查询条件中使用集合 -->
<select id="productExtend.queryGrantedPartnerAccount" resultClass="java.lang.String" parameterClass="java.util.Map"> select distinct partner_account from partner_fee p
where p.partner_account in
<iterate property="accounts" open="(" close=")" conjunction=",">
#accounts[]#
</iterate>
</select>
<!-- 如果入参PackageInfoDTO对象插入数据库后,此数据还会被使用,就使用selectKey生成id后,它自动会绑定到入
参dto上的 -->
<insert id="productCombined.savePackageInfo" parameterClass="com.paic.product.dto.PackageInfoDTO" >
<selectKey resultClass="java.lang.String" keyProperty="id">
select rawtohex(sys_guid()) as id from dual
</selectKey>
insert into package_info
(ID_PACKAGE_INFO,
ID_MARKETPRODUCT_INFO,
PACKAGE_CODE,
PACKAGE_NAME,
CREATED_BY,
UPDATED_BY,
status)
values
(#id#,
#idMarketProductInfo#,
#packageCode#,
#packageName#,
#createdBy#,
#updatedBy#,
#status#)
</insert>
<!-- 删除语句 -->
<delete id="productExtend.deletePartnerFee" parameterClass="java.lang.String">
delete from partner_fee p where p.partner_account = #partnerAccount#
</delete>
<!-- 调用产品工厂的package生成单证号 的存储过程的参数 -->
<parameterMap id="proProductDzProcParam" class="java.util.Map">
<parameter property="p_dzno" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT" />
<parameter property="p_vchtype" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="p_productclass" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="p_dptcode" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
</parameterMap>
<!-- 调用产品工厂的package生成单证号 -->
<procedure id="proProductDzProc" parameterMap="proProductDzProcParam">
<![CDATA[
{call proddata.product_dz_proc.pd_getdzno(?,?,?,?)}
]]>
</procedure>
</sqlMap>
二、ibatis的 sqlmap-config.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<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" />
<sqlMap resource="sqlmap-mapping-caiualarmreports.xml" />
</sqlMapConfig>