Spring的JDBCTemplate提供了高效率執行SQL查詢的方法,包括使用IN()子句的查詢。以下是一種常見的,但可能並非最佳的方法:
<code class="language-java">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()); }</code>
更優雅的解決方案是使用參數來源。此方法包括:
<code class="language-java">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());</code>
以上是Spring的JDBCTemplate如何最佳化IN()查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!