您好,登录后才能下订单哦!
这篇“mybatis中的多重if条件判断怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mybatis中的多重if条件判断怎么用”文章吧。
当指定某种情况的时候,条件需要添加 toString() 方法
作为java开发,我们常用的判断有if、switch语句,其实在MyBatis中也有对应的标签,用于动态生成sql语句。
<where> <if test="null != statusCode and 0 != statusCode"> AND b.STATUS_CODE = #{statusCode, jdbcType=VARCHAR} </if> </where>
一般来说,很多程序猿朋友会在<if>标签前增加WHERE 1=1语句,但其实只需要像上面代码中增加<where>标签包裹所有<if>语句,<if>内语句前面都有and或者or关键字就行:
MyBatis会自动判断所有条件不满足时,不添加where语句;
如果有多判断语句,并且满足一个条件以上时,会把第一条满足的(如果第一条有and或者or关键字时)and或者or关键字删除;
<choose> <when test="5 == queryType"> CASE WHEN statusCode IN (1,6) THEN 1 ELSE 2 END,createTime DESC </when> <when test="1 != queryType and 9 != queryType"> createTime DESC </when> <otherwise> <choose> <when test="null == orderType or 1 == orderType"> auditTime </when> <when test="2 == orderType"> downloadCount </when> <when test="3 == orderType"> browseCount </when> <otherwise> is666Count </otherwise> </choose> <if test="null == orderMode or 1 == orderMode"> DESC </if> </otherwise> </choose>
上面的代码使用了标签嵌套特性,用于复杂条件判断。
choose判断跟if else语句作用相同,起到根据条件执行不同分支逻辑的作用。
而otherwise跟多个if else中最后一个else的作用相同,在以上条件都不满足时,执行otherwise中的逻辑。
以上就是关于“mybatis中的多重if条件判断怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。