MyBatisで複数のパラメータタイプをどのように渡すのですか?

MyBatisで複数のパラメーターを渡す方法には通常2つの方法があります。

  1. 複数のパラメータをMapに格納し、そのMapをMapperメソッドの引数として渡すことで、複数のパラメータを一括して扱う方法。Mapperメソッド内では指定したキーを使用して対応するパラメータ値を取得できる。
public interface UserMapper {
    List<User> selectUsersByCondition(Map<String, Object> params);
}

Mapper XMLファイルでは、${key}を使ってパラメータの値を取得することができます。

<select id="selectUsersByCondition" parameterType="map" resultType="User">
    SELECT * FROM user
    WHERE name = #{name} AND age = #{age}
</select>

Mapperメソッドを呼び出す際、複数のパラメータを含むMapを渡す。

Map<String, Object> params = new HashMap<>();
params.put("name", "Alice");
params.put("age", 18);
List<User> users = userMapper.selectUsersByCondition(params);
  1. Mapperメソッドで@Paramアノテーションを使用してパラメータ名を指定します。その後、Mapper XMLファイルで指定されたパラメータ名を使用してパラメータ値を取得します。
public interface UserMapper {
    List<User> selectUsersByCondition(@Param("name") String name, @Param("age") int age);
}

Mapper XMLファイル内では、#{parameterName}を使用してパラメータ値を取得することができます。

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

Mapperメソッドを呼び出す際に、複数のパラメータを指定してパラメータ名を指定します。

List<User> users = userMapper.selectUsersByCondition("Alice", 18);

MyBatisに複数のパラメータ型を渡す方法は、2つの一般的な方法があります。複数のパラメータを渡す方法を選択するのは、個人の好みやプロジェクトの要求によります。

广告
広告は10秒後に閉じます。
bannerAds