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>
如有不正确的,还请指出