プログラミング Java

【JdbcTemplate】IN句に値を入れて複数件取得する方法

投稿日:

JdbcTemplateでIN句に毎回異なる数の値をセットして、
複数のレコードを取得する場合は、「NamedParameterJdbcTemplate」で取得することができます。

コード例

 

解説

各コメント欄に対応して解説してきます。

Query

IN句の中に「:ids」というような、名称を定義します。

Params

HashSetでIN句に格納する値を準備します。
MapSqlParameterSource型の変数を作成し、addValueメソッドで追加します。
「”ids”」は、Queryで指定した「:ids」に対応しています。

Mapper

(Case1)
BeanPropertyRowMapperを使うケースです。
BeanPropertyRowMapperはBeanを用意する必要がありません。

(Case2)
独自Mapper(HistoryRowMapper)を使うケースです。

どちらの場合も、以下の形式なります。

 

参考

独自Mapper(今回で言うHistoryRowMapper)で実装する場合、
以下のようにMapperとBeanを用意します。

HistoryRowMapper

History

-プログラミング, Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

【Java】画像ファイルをバイナリで比較する方法

  画像ファイルの比較 比較元ファイル 素材はPhotoACから拝借しました。 コピー元画像:PCを持つ女性 コピーしたファイルとの比較(True) コピー元ファイルをコピーしただけのファイ …

オブジェクト指向がわかるようになるためにする3つのこと

オブジェクト指向がいまいちわからない人向けに、 オブジェクト指向でプログラミングできるようになるまでのステップを以下にまとめました。   Javaでプログラミングする Javaはオブジェクト …

no image

prepareステートメントの挙動について調べてみた

調べるきっかけ PHPでSQLをセキュアに記述する方法としてprepareステートメントが推奨されているが、なぜなのかがわからず、挙動を調べれば自分なりに納得のいく答えがでるのではないかと思ったため。 …

no image

画面にonclickを書かずにイベントを発生させる方法

画面にonclickを記述すると、JavaScript側で関数名が変更になった際の修正が面倒になる。 なのでonclickを記述せずにイベントを発生させるように記述することが望ましいと子ドレビューで指 …

ExcelをA1で拡大率100%にするツール(サブフォルダ全て)

たくましゅくじょさんのところで公開されていた、 「エクセルで全シートの拡大率を100%にしA1セルを選択するマクロ」 をサブフォルダ全てに対応させたバージョンを作成しました。 会社の納品ドキュメントを …

記事を探す

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。