MyBatisでデータベースのNULL値をどのように扱いますか?

MyBatis でデータベースの NULL 値を扱う方法はいくつかあり、if、choose、when などのタグを使用して処理することができます。

  1. NULL値を処理するためにifタグを使用します。
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
    <if test="name != null">
        AND name = #{name}
    </if>
</select>
  1. NULL値を処理する際には、chooseまたはwhenタグを使用してください。
<select id="getUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
    <choose>
        <when test="name != null">
            AND name = #{name}
        </when>
        <otherwise>
            AND name IS NULL
        </otherwise>
    </choose>
</select>
  1. NULL値を処理する際には、${}占位符を使用してください。
<select id="getUserByName" parameterType="String" resultType="User">
    SELECT * FROM user WHERE name = '${name}'
</select>

${}占位符を使用する場合、SQLインジェクションの問題に注意する必要があります。パラメータを処理する際には、#{name}を使用することをお勧めします。

コメントを残す 0

Your email address will not be published. Required fields are marked *