MyBatis if-else条件分岐の書き方・使い方【徹底解説】
MyBatisでは、条件判断を実装するためにタグを使用できます。これは、プログラムのif-else文と類似しています。以下は例です:
<select id="selectUsers" parameterType="map" resultType="User">
SELECT * FROM users
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="email != null">
AND email = #{email}
</if>
</where>
</select>
上記の例では、渡されたパラメータに基づいて動的にSQL文を結合し、usernameまたはemailが空でない場合はそれに対応する条件が追加されます。 タグのtest属性は、条件判断の式を指定するために使用され、式の値がtrueの場合にのみ対応する内容が実行されます。
複数のタグを使用して、複数の条件を判断する場合は、条件間の論理関係に注意する必要があります。例えば、ANDまたはORを使用して条件を結合することができます。条件が複雑な場合は、とタグを使用して、より複雑な条件判断ロジックを実装することができます。