mybatis中的if-else的嵌套使用
mybatis的if-else的嵌套使用方法
案例一:if-else
在mybatis的使用过程中,难免会存在使用if-else的逻辑,但是实际是没有这种语法的,提供了choose标签来替代这种语法
<select id="selectUserByState" resultType="com.bz.model.entity.User">
SELECT
*
FROM
user
WHERE
1=1
<choose>
<when test="state == 1">
AND name = #{name1}
</when>
<when test="state == 2">
AND name = #{name2}
</when>
<otherwise>
AND name = #{name3}
</otherwise>
</choose>
</select>
案例二:if嵌套
在实际的编码过程中会对一些条件进行重复判断,并对内深入if判断,这时就可以使用if嵌套
<select id="selectUserByState" resultType="com.bz.model.entity.User">
SELECT
*
FROM
user
WHERE
<if test=" gender!=null and gender!='' ">
<if test=" gender==male ">
and name=#{name}
</if>
</if>
</select>
如有不正确的,还请指出