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()); }
プリペアド ステートメントのパラメータ置換に似た、より洗練された方法を求めています。
パラメータ ソースの使用
望ましい優雅さを実現するには、パラメータsource:
Setids = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", ids); List foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, getRowMapper());
NamedParameterJdbcTemplate
これは、getJdbcTemplate() が NamedParameterJdbcTemplate.
型のインスタンスを返す場合にのみ機能することに注意してください。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3