首頁 > Java > java教程 > 如何透過 Spring 的 JDBCTemplate 有效地使用 IN() SQL 查詢?

如何透過 Spring 的 JDBCTemplate 有效地使用 IN() SQL 查詢?

Mary-Kate Olsen
發布: 2024-11-25 01:53:10
原創
712 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板