ibatis提取共用的语句块SQL

某些情况下,sql有些共用语句块。比如分页和查询where条件。

 

1、where条件如下:

 

<sql id="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION">
<isNotEmpty property="searchCaseResult">
			<isNotEqual property="searchCaseResult" compareValue="0">
				<![CDATA[and
					bitand(amc.CASE_RESULT,#searchCaseResult#) = #searchCaseResult#
				]]>
			</isNotEqual>
			<isEqual property="searchCaseResult" compareValue="0">
				<![CDATA[and
					amc.CASE_RESULT = 0
				]]>
			</isEqual>
	</isNotEmpty>
</sql>
 

2、查询和分页如何共用呢:加入include

<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>

 例如:

查询如下:

SELECT amc.* FROM avatar_member_case where 1=1 
<![CDATA[
			 and amc.GMT_CREATE >= #gmtCreateStart:TIMESTAMP# and amc.GMT_CREATE <= #gmtCreateEnd:TIMESTAMP# 
		]]>
		<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>
 

分页如下:

SELECT count(amc.id) FROM avatar_member_case where 1=1 
<![CDATA[
			 and amc.GMT_CREATE >= #gmtCreateStart:TIMESTAMP# and amc.GMT_CREATE <= #gmtCreateEnd:TIMESTAMP# 
		]]>
		<include refid="MS-QUERY-MEMBER-CASES-BY-PARAM-WHERE-CONDITION" ></include>

 

3、经过测试,需要注意的是:共用部分需要在查询语句之前。否则会报找不到共用部分对应的Id;

 

备注:给自己的提醒,技术人员需要的是热衷于解决技术问题的那股劲。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值