为了账号安全,请及时绑定邮箱和手机立即绑定

请问在mybatis里choose里可以写多个when吗?

请问在mybatis里choose里可以写多个when吗?

繁华开满天机 2019-09-09 13:09:54
mybatis里choose里可以写多个when吗?
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

1、有时我们不想应用所有的条件,相反我们想选择很多情况下的一种。和Java中的switch
语句相似,MyBatis提供choose元素。 要想同时两个都选择应该选用if元素。
2、你的Paramter是map, 而你的配置文件中判断都检查的checkType,Map中只能存一个checkType,即使是if也只能执行一次。

查看完整回答
反对 回复 2019-09-14
?
慕容3067478

TA贡献1773条经验 获得超3个赞

在项目中xml文件经常会遇到在判断等于某个值时加什么条件不等于某个值的时候加什么条件,比如下面这个例子:
<if test=" name != null">
AND T.NAME = #{NAME,jdbcType=VARCHAR}
</if>
<if test=" name = null">
ORDER BY NAME,ID
</if>

上面这个例子是一个错误的写法不可以这样用。
正确的需要引入<choose>标签
<choose>
<when test=" name != null">
AND T.NAME = #{NAME,jdbcType=VARCHAR}
</when>
<otherwise>
ORDER BY T.PRODUCT_TYPE_CODE, T.SORT DESC, T.CREATE_TIME
</otherwise>
</choose>



查看完整回答
反对 回复 2019-09-14
  • 3 回答
  • 0 关注
  • 4690 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信