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:
Setids = ...; 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.
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