"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo utilizar eficazmente consultas SQL IN() con JDBCTemplate de Spring?

¿Cómo puedo utilizar eficazmente consultas SQL IN() con JDBCTemplate de Spring?

Publicado el 2024-11-16
Navegar:248

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

Consultas SQL IN() efectivas con JDBCTemplate de Spring

Tiene una consulta IN() que actualmente le permite crear una cláusula con varias líneas del código:

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());
}

Busca una forma más elegante que sea similar a la sustitución de parámetros de declaraciones preparadas.

Utilizando una fuente de parámetros

Para lograr la elegancia deseada , puede utilizar una fuente de parámetros:

Set ids = ...;

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

List foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)",
     parameters, getRowMapper());

NamedParameterJdbcTemplate

Tenga en cuenta que esto solo funciona si getJdbcTemplate() devuelve una instancia de tipo NamedParameterJdbcTemplate.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3