本篇内容介绍了“mybatis test标签怎么判断值是否相等”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
mybatis test标签判断值是否相等
mybatis可以很方便生成动态sql,
常用的方式如下:
<if test="id != null and id !=''"> and id != #{id} </if>
但是在实际使用过程中可能会需要对某个输入的值做具体判断,然后根据输入参数的值进行分支处理
<select id="xxxx" parameterType="map" resultMap="BaseResultMap"> 。。。。。。。 <choose> <when test="hasAttach.toString() == '1'.toString()"> having attachCount >= #{hasAttach} </when> <otherwise> having attachCount = #{hasAttach} </otherwise> </choose>
鉴于这个mapper查询接口传入的参数为Map<String,Object>类型,如果不进行toString的转换的话默认是对进行进行的对比,因此就无法达到预期的比较字符串的效果。
mybatis if test标签、动态sql问题
之前用#{0}和#{1}虽然值能传到后台但一直不能正确校验,怎么改都无法校验成功。
错误代码:
这是因为:dao层(或mapper层)中没有用@Param(“”)正确传值。
修改后:
mybatis中也把0,1改成@Paran定义的值就可以了:
体验:细节很重要,不可忽略。
“mybatis test标签怎么判断值是否相等”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!