如何在MyBatis的動(dòng)態(tài)SQL中實(shí)現(xiàn)if-else功能

小樊
271
2024-08-16 02:32:38
欄目: 云計(jì)算

在MyBatis的動(dòng)態(tài)SQL中可以使用if標(biāo)簽來(lái)實(shí)現(xiàn)if-else功能。以下是一個(gè)示例:

<select id="selectUsers" parameterType="map" resultType="User">
  SELECT *
  FROM users
  <where>
    <if test="name != null">
      AND name = #{name}
    </if>
    <if test="age != null">
      AND age = #{age}
    </if>
  </where>
</select>

在上面的示例中,如果傳入的參數(shù)map中包含name,則會(huì)添加一個(gè)條件AND name = #{name},如果傳入的參數(shù)map中包含age,則會(huì)添加一個(gè)條件AND age = #{age}。如果不滿足條件,則不會(huì)添加任何條件。

這樣就可以實(shí)現(xiàn)if-else功能,在動(dòng)態(tài)SQL中根據(jù)傳入的參數(shù)來(lái)動(dòng)態(tài)拼接SQL語(yǔ)句。

0