5 つの MyBatis パラメータの受け渡し
この記事は学習プロセスの 5 番目のセクションです。プロセス全体については、このコラムを確認してください。
記事ディレクトリ
MyBatis はパラメータのカプセル化のための ParamNameResolver クラスを提供します
MyBatis パラメータのカプセル化:
単一パラメータ
- POJOタイプ
- 地図コレクション
- コレクション
- リスト
- 配列
- 他のタイプ
複数のパラメータ
1 複数のパラメータ
User select(@Param("username") String username,@Param("password") String password);
マップ コレクションとしてカプセル化
マップにはキーと値があります
値はパラメータの値(文字列のユーザー名、文字列のパスワード)です。
キーには 2 つの形式があります。
map.put("arg0", パラメータ値 1)
map.put("param1", パラメータ値 1)
map.put("arg1", パラメータ値 2)
map.put("param2", パラメータ値 2)
今後 @Param アノテーションを使用しない場合は、arg0 param1 などのパラメータを使用して値を取得できます。
ただし、パラメータが多すぎると可読性が低下するため、この方法はお勧めできません。
@Param アノテーションを使用して、Map コレクション内のデフォルトの arg キー名を置き換えることができます。
2 単一パラメータ
POJO タイプ: 直接使用され、属性名はパラメーターのプレースホルダー名と一致します。
マップ コレクション: 直接使用され、キー名はパラメーターのプレースホルダー名と一致します。
コレクション: Map コレクションとしてカプセル化されているため、@Param アノテーションを使用して、Map コレクション内のデフォルトの arg キー名を置き換えることができます。
map.put(“arg0”,collection集合);
map.put(“collection”,collection集合);
リスト: @Param アノテーションを使用して、Map コレクション内のデフォルトの arg キー名を置き換えることができます。
map.put("arg0", リストコレクション);
map.put(“collection”,list集合);
map.put(“list”,list集合);
配列: @Param アノテーションを使用して、Map コレクション内のデフォルトの arg キー名を置き換えることができます。
map.put("arg0", 配列);
map.put("配列", 配列);
その他のタイプ: 直接使用します。int など
要約する
将来的には、@Param アノテーションを使用して Map コレクションのデフォルトのキー名を変更し、変更された名前を使用して値を取得するため、読みやすくなります。