spring - 如何在spring中使用jdbcTemplate传递多个值进行查询

标签 spring jdbctemplate

在我的 Spring Hibernate 应用程序中,我将所有 sql 查询都放在一个 common_queries.xml 文件中,其中某些查询需要 2 到 3 个参数,如下所示

   <query id="mining.fuel" no-of-params="2">
select ms.id id,ms.name value,concat(ms.name,' ','  (',ms.code,')') label,ms.rate rate     from mining_fuel ms where ms.name like '?' and ms.fuel_type_id=?  LIMIT 10
 </query>   

在我的 daoImpl 中我得到这个查询

lookupList = jdbcTemplate.queryForList(q1.getQuery());

我将在这里得到查询,但是如何在这里传递“?”的值,我在 daoImpl 中有这两个值。请发送如何实现此目的的代码。我不想使用准备好的声明。

最佳答案

使用this overload它采用一个 Object vararg 来传递查询参数:

lookupList = jdbcTemplate.queryForList(q1.getQuery(), value1, value2, value3);

关于spring - 如何在spring中使用jdbcTemplate传递多个值进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7009709/

相关文章:

Spring批处理暂停/恢复与停止/重启

spring - Grails @DelegateAsync 和依赖注入(inject)

java - 不使用命名参数时重用 sql 参数

java - 如果我有一个列表和一个参数值,如何使用 updateBatch 删除行?

java - Firebird 查询崩溃并出现 org.firebirdsql.jdbc.FBSQLException : GDS Exception. 335544364。请求同步错误

java - Maven 可以做我们在这个 ANT build.xml 中所做的事情吗

spring-boot-starter-parent 资源包括/排除说明

spring - Spring 应用程序中非 Spring bean 的加载时间编织

java - 使用 Spring JdbcTemplate 中的 call 调用存储函数

java - JDBC模板: MS SQL datetime column query