ホームページ > Java > &#&チュートリアル > Spring の JDBCTemplate で IN() SQL クエリを効果的に使用するにはどうすればよいですか?

Spring の JDBCTemplate で IN() SQL クエリを効果的に使用するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 01:53:10
オリジナル
677 人が閲覧しました

How can I effectively use IN() SQL queries with Spring's JDBCTemplate?

Spring の JDBCTemplate を使用した効果的な IN() SQL クエリ

現在、複数行の句を構築する IN() クエリがあります。コードの:

StringBuilder jobTypeInClauseBuilder = new StringBuilder();
for(int i = 0; i < jobTypes.length; i++) {
    Type jobType = jobTypes[i];

    if(i != 0) {
        jobTypeInClauseBuilder.append(',');
    }

    jobTypeInClauseBuilder.append(jobType.convert());
}
ログイン後にコピー

準備されたステートメントに似た、より洗練された方法を探しています。パラメータ置換。

パラメータ ソースの使用

希望の優雅さを実現するには、パラメータ ソースを使用できます。

Set<Integer> ids = ...;

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", ids);

List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)",
     parameters, getRowMapper());
ログイン後にコピー

NamedParameterJdbcTemplate

これは次の場合にのみ機能することに注意してください。 getJdbcTemplate() は、NamedParameterJdbcTemplate.

型のインスタンスを返します。

以上がSpring の JDBCTemplate で IN() SQL クエリを効果的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート