温馨提示×

MyBatis中如何使用if-else条件语句

小樊
1075
2024-08-16 02:25:40
栏目: 编程语言

在MyBatis中,可以使用<if><choose>标签来实现if-else条件语句的功能。

示例如下:

<select id="selectUsers" parameterType="map" resultType="User">
  SELECT * FROM users
  WHERE 1=1
  <if test="username != null and username != ''">
    AND username = #{username}
  </if>
  <if test="age != null and age > 0">
    AND age = #{age}
  </if>
</select>

在上面的例子中,<if>标签用于判断是否满足条件,如果满足条件则执行其中的SQL语句。如果需要实现多个条件的判断,可以使用<choose>标签。

示例如下:

<select id="selectUsers" parameterType="map" resultType="User">
  SELECT * FROM users
  WHERE 1=1
  <choose>
    <when test="role == 'admin'">
      AND role = 'admin'
    </when>
    <when test="role == 'user'">
      AND role = 'user'
    </when>
    <otherwise>
      AND role = 'guest'
    </otherwise>
  </choose>
</select>

在上面的例子中,<choose>标签相当于if-else语句,<when>标签用于判断条件是否成立,<otherwise>标签则相当于else语句。通过这种方式可以实现if-else条件语句的功能。

0