> 文档中心 > mybatis中的if-else的嵌套使用

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>

如有不正确的,还请指出