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


関連記事

no image

How to apply JavaScript fixes (PHP)

※This article (Japanese) is translated from Google (English). After editing JavaScript, it is the ac …

ユニークなListを持つファーストクラスコレクションの例

概要 正確に言うとListではなくSetです。 自分の確認と備忘録なのでご参考までに。 実装 ユニークなリストとしてSetで保持します。 Item 保持するオブジェクトです。 [crayon-6340 …

【Laravel】SQLの確認はenableQueryLogを使う

SQLのデバッグのために、SQLとバインドされた値を確認したいことがあります。 その時に使える方法として、よく提示されるのは以下の2つです。 1.enableQueryLogメソッドとgetQuery …

【Java入門】配列の扱い方まとめ

概要 配列の扱い方について学んでいきましょう。 配列は、同一の型の値を複数持つことができるデータ構造です。 ・int型の配列だったら、int(数値)を複数個持っている。 ・String型の配列だったら …

困った,男性

あなたが読み難いコードを書いてしまう理由

はじめに 読みやすいコードを書きたい人と願う方のために執筆しました。 誰もが良いコードを書きたいと願っているはずだからです。(と私は信じています) というもの、後で自分が読み直した時、誰かにレビューを …

SpringFramworkの良書

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

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