MyBatis マッパーに複数のパラメータを渡す方法は何ですか?

MyBatisのMapper内で、@Paramアノテーションを使用して複数のパラメータをMapperメソッドに渡すことができます。

例えば、UserMapperというMapperインターフェースがあるとします。その中にはgetUserByIdAndNameというメソッドがあり、このメソッドはidとnameの2つのパラメーターを必要とします。

public interface UserMapper {
    User getUserByIdAndName(@Param("id") int id, @Param("name") String name);
}

上記の例では、各引数に名前を指定するために@Paramアノテーションが使用され、これらの名前を使用してMapper XMLファイルでそれらを参照することができます。

その後、Mapper XMLファイルでこれらのパラメータを${}構文を使って参照することができます。例:

<select id="getUserByIdAndName" resultType="User">
    SELECT * FROM user WHERE id = #{id} AND name = #{name}
</select>

上記の例では、#{id}と#{name}は、getUserByIdAndNameメソッドのidとnameのパラメーターにそれぞれ対応しています。

最後、JavaコードでUserMapperインターフェースのgetUserByIdAndNameメソッドを呼び出して結果を取得できます。

User user = userMapper.getUserByIdAndName(1, "John");

上記の例では、idを1に設定し、nameを”John”に設定し、getUserByIdAndNameメソッドを呼び出して条件を満たすユーザーオブジェクトを取得します。

bannerAds