使用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