and t.status = 1 赞 踩 在使用mybatismapper动态sql时,不免会出现if-else的使用,但是好像又没有这种语法,提供的是choose标签代替if-else 例如: 也可以用多个if判断实现: 在实际编码过程中会有一些判断条件会一直重复使用,一直写在if标签中写的代码会特长,而且臃肿 变现后: 赞 踩 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。
mybatis中的if-else使用及if嵌套使用_mybatisplus if else
案例一:if-else
select * from t_stu t
<where>
<choose>
<when test="query == 0">
and t.status = 1
</when>
<otherwise>
and t.status NOT IN (9,5)
</otherwise>
</choose>
and t.delete_status = 1
</where>
select * from t_stu t
<where>
<if test="query == 0">
and t.status = 1
</if>
<if test="query != 0">
and t.status NOT IN (9,5)
</if>
and t.delete_status = 1
</where>
案例二:if嵌套
select * from t_stu t
<where>
<if test="query == 0 and type = 1">
and t.type = 'we' and t.delete = 1
</if>
<if test="query == 0 and type = 2">
and t.type = 'wq' and t.delete = 1
</if>
<if test="query == 0 and type = 3">
and t.type = 'wr' and t.delete = 1
</if>
</where>
select * from t_stu t
<where>
<if test="query == 0">
<if test="type = 1">
and t.type = 'we'
</if>
<if test="type = 2">
and t.type = 'wq'
</if>
<if test="type = 3">
and t.type = 'wr'
</if>
</if>
and t.delete = 1
</where>