MyBatis中使用動態SQL類型有兩種方式:使用if
元素和使用choose
元素。
if
元素:可以根據條件動態拼接SQL語句。例如:<select id="getUserList" parameterType="map" resultMap="userResultMap">
SELECT * FROM users
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</where>
</select>
choose
元素:可以根據條件選擇不同的SQL語句執行。例如:<select id="getUserList" parameterType="map" resultMap="userResultMap">
SELECT * FROM users
<where>
<choose>
<when test="order == 'asc'">
ORDER BY id ASC
</when>
<when test="order == 'desc'">
ORDER BY id DESC
</when>
<otherwise>
ORDER BY id ASC
</otherwise>
</choose>
</where>
</select>
使用動態SQL類型可以根據不同的條件靈活地構建SQL語句,使查詢更加靈活和高效。