mybaits十四:使用if和where标签构建动态sql

34 篇文章 0 订阅

 <where>标签会在sql语句中加上 'where',并且会去掉'and'(使用where标签的话,and就要放在语句的前面,比如'and ename = #{ename}', 如果放在语句的后面,比如 'ename = #{ename} and' , where标签可能去不掉and,就会造成拼接的sql语句最后多一个and,造成错误)

<select id="getEmpsByConditionIf" resultType="com.atChina.bean.Employee">
    	select * from(
    	select a.empno as no, a.ename, a.job, a.mgr, 
    	a.hiredate, a.sal, a.deptno from emptest a
    	) 
    	<where>
    		<if test="empno!=null">
    			no = #{empno}
    		</if>
    		<if test="ename != null and ename.trim() !='' ">
    			and ename = #{ename}
    		</if>
    		<if test="job !=null and job !='' ">
    			and job = #{job}
    		</if>
    		
    	</where>
    </select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值