プログラミング 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


関連記事

Observerパターンってどう使うの?を考える(商品の予約)

目的 Observerパターンの使いどころとなる状況を具体例でもって理解する。   ゴール(実現すること) 商品の予約システムにおけるユーザ通知   実装する機能 ・商品を予約する …

【SpringBoot入門】#9~ 更新画面の作成

左側のコンテンツ40% 右側のコンテンツ60% ※2021/01/09  画面遷移等のバックエンド側の内容が抜けていたので追記しました。 概要 検索結果一覧から編集ボタン押下で遷移してくる更新画面です …

【Java】Doubleとdoubleの違いは何か?

結論 Double:オブジェクト型 double:プリミティブ型 「Doubleはdoubleをラップしたオブジェクトである」ということです。 (・ω・´。)ん?つまりどういうこと? こゆこと。  ↓ …

【Spring】JSの変更を反映させる方法

Spring Bootのおいて、JavaScriptの変更を反映させる方法です。   設定 application.properties application.propertiesに、以下 …

【Spring】バリデーション時に、入力値を保持する方法

登録画面で「登録」ボタンを押した後、 バリデーションで引っ掛かってエラーになっても 入力内容を画面に保持して置く方法についてです。 テンプレートエンジンは、Tymeleafを使用しています。 方法とし …

記事を探す

SpringFramworkの良書

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

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