マイバティスで複数のパラメータをどのように渡すのですか?

マイバティスで複数のパラメータを渡す方法は次のとおりです:

  1. Mapをパラメータとして使用することで、複数のパラメータを1つのMapにまとめて、MapをMyBatisのSQLステートメントに渡すことができます。SQLステートメント内でキーを使用して対応するパラメータ値を取得できます。

例えば、Mapを定義して複数のパラメータを設定します。

Map<String, Object> params = new HashMap<>();
params.put("param1", value1);
params.put("param2", value2);

MyBatisのSQL文中で、キーを使用してパラメータ値を取得します。

<select id="selectByExample" parameterType="java.util.Map" resultMap="BaseResultMap">
    SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}
</select>
  1. @Param注釈の使用:@Param注釈を使用して、各パラメータに名前を指定し、複数のパラメータを順番にMyBatisのSQLステートメントに渡すことができます。SQLステートメント内で指定された名前を使用して、対応するパラメータの値を取得できます。

例えば、@Paramアノテーションを使用してパラメーター名を指定してメソッドを定義します。

@Select("SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}")
List<YourEntity> selectByParams(@Param("param1") Object param1, @Param("param2") Object param2);
  1. JavaBeanをパラメータとして使用すると、複数のパラメータを1つのJavaBeanにカプセル化し、そのJavaBeanをMyBatisのSQLステートメントにパラメータとして渡すことができます。SQLステートメントではJavaBeanのプロパティ名を使用して対応するパラメータの値を取得することができます。

例えば、複数のパラメータを設定するJavaBeanを定義します。

public class MyBean {
    private Object param1;
    private Object param2;
    // getter and setter
}

MyBean bean = new MyBean();
bean.setParam1(value1);
bean.setParam2(value2);

MyBatisのSQL文で、JavaBeanの属性名を使ってパラメータ値を取得します。

<select id="selectByBean" parameterType="your.package.MyBean" resultMap="BaseResultMap">
    SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}
</select>

これらは、複数のパラメータを渡す一般的な方法のいくつかです。実際の状況に応じて適切な方法を選択してください。

bannerAds