MyBatisでは、ifタグを使ってSQL文を動的に結合することができます。ifタグは条件に基づいて特定のSQL文を含むかどうかを判断し、条件が成立すればSQL文を実行し、そうでなければ無視します。
マッパーXMLファイルでは、ifタグを以下のように使用することができます。
<select id="getUserById" parameterType="int" resultType="User">
SELECT * FROM user
<where>
<if test="id != null">
AND id = #{id}
</if>
<if test="name != null">
AND name = #{name}
</if>
</where>
</select>
与前述示例相同,如果传递的id参数不为空,则会将AND id = #{id}添加到SQL语句中;如果name不为空,则将AND name = #{name}添加到SQL语句中。通过此方法,可以根据传递的参数动态构建SQL语句,实现具有灵活性的SQL查询操作。