mybatis中if标签判断字符串相等

阅读: 评论:0

邀请注册
mybatis中if标签判断字符串相等
今⽇按需求在l中修改完⼀条sql的条件,感觉很轻松,如下所⽰:
<if test="companyId != null and companyId !='' ">
<if test="companyFlag == '1'">
AND COMPANY_ID = #{companyId,jdbcType=VARCHAR}8700g
</if>
轴流风机启动<if test="companyFlag == '0'">
AND COMPANY_ID != #{companyId,jdbcType=VARCHAR}
</if>
</if>硬盘马达
结果sql执⾏的结果却让我轻松不起来,明明companyId和companyFlag这两个字段不为空,但是在打印的⽇志sql中却没有这个条件,将上述sql改为如下所⽰:
<if test="companyId != null and companyId !='' ">
and 1 = 1
<if test="companyFlag == '1'">
AND COMPANY_ID = #{companyId,jdbcType=VARCHAR}
</if>
监控<if test="companyFlag == '0'">
AND COMPANY_ID != #{companyId,jdbcType=VARCHAR}
</if>
</if>
执⾏sql后发现⽇志将and 1 = 1 打印出来了,还是没有COMPANY_ID这个条件,于是意识到是companyFlag的判断条件出了问题,在⽹上⼀顿搜索后,发现了说明:
mybatis 映射⽂件中,if标签判断字符串相等,两种⽅式:因为mybatis映射⽂件,是使⽤的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候使⽤
<test="sex=='Y'.toString()">或者<test = 'sex== "Y"'>
将⾃⼰的sql改为:
<if test="companyId != null and companyId !='' ">
<if test="companyFlag == '1'.toString() ">
AND COMPANY_ID = #{companyId,jdbcType=VARCHAR}
hcpl2630
</if>
<if test="companyFlag == '0'.toString() ">
AND COMPANY_ID != #{companyId,jdbcType=VARCHAR}
</if>
</if>
再次调⽤sql,则条件正常可⽤了。

本文发布于:2023-06-19 05:31:26,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/144336.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:判断   字符串   条件   发现   相等   标签   出来
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图