IT虾米网

mybatis的 条件判断详解

wyy 2018年08月24日 编程语言 1749 0

在使用 MyBatis if 进行条件判断时,一直报错:

<if test="fwbdh != null and fwbdh == 'BAK'"> 
    fwbdh=#{fwbdh} 
<if>

MyBatis是使用的OGNL表达式来进行解析的,改成:

<if test='fwbdh != null and fwbdh == "BAK"'> 
    fwbdh=#{fwbdh} 
<if>

同时,MyBatis的if、when里面的test表达式对参数进行判断时,可以调用 java的java.lang.String中定义的方法:

比如:

<if test="fwbdh != null and fwbdh != ''"> 
	<choose>   
		<when test='fwbdh.indexOf(",") != -1'>   
			AND t.FWBDH  in (${fwbdh})  
		</when>   
		<otherwise>    
	        	AND t.FWBDH like '%'+#{fwbdh}+'%'   
		</otherwise>   
	</choose>  
</if>


发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MyBatis中井号与美元符号的区别详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。