JdbcTemplate.queryForList()方法各不同参数的详解

public <T> List<T> queryForList(
String sql,
Class<T> elementType,
Object... args
)throws DataAccessException

官方文档解释:

Parameters:
sql - SQL query to execute
elementType - the required type of element in the result list (for example, Integer.class)
args - arguments to bind to the query (leaving it to the PreparedStatement to guess the corresponding SQL type); may also contain SqlParameterValue objects which indicate not only the argument value but also the SQL type and optionally the scale

我的理解

String sql, // 查询用的sql句
Object[] args, // sql句中的参数
int[] argTypes, // sql句中的参数的数据类型(Java类型)
Class elementType // list装载结果的元数据类型

官方文档中最后的一个开变参数中讲到最后一个参数中可以包含SqlParameterValue对象,也就是说如果要通过这种方式给sql语句传参数,要将参数的类型转换成Object类型,如使用 Object[]{参数}这种方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
namedParameterJdbcTemplatequeryForList()方法用于执行带有命名参数的SQL查询,并将结果作为List返回。当使用该方法时,如果查询结果为空,则会返回一个空的List。 当我们调用queryForList()方法时,首先需要传入SQL查询语句以及命名参数的值。如果我们没有正确设置命名参数的值,或者查询结果确实为空,那么返回的List将是空的。 如果使用namedParameterJdbcTemplatequeryForList()方法查询结果为空,可以考虑以下几个可能的原因和解决方案: 1. 检查SQL查询语句是否正确:确保查询语句没有语法错误或逻辑错误,可以在数据库客户端中手动执行该查询语句,看是否能够获取到结果。 2. 检查命名参数的设置:确保正确设置了命名参数的值,并且与查询语句中的参数一致。可以通过调试或打印命名参数的值来确认参数是否正确设置。 3. 检查数据库连接和表数据:确认数据库连接正常,数据库中是否存在符合查询条件的数据。可以使用其他方法检查数据库连接是否正常,或者通过直接查询数据库来验证数据是否存在。 4. 检查查询条件是否准确:确认传入的查询条件是否正确,包括参数的类型、值的范围等。可以在查询条件没有限制的情况下,将查询条件设置为空,看是否能够返回结果。 如果以上步骤都检查无误,仍然无法获取到查询结果,则可能是由于查询条件不满足或数据不存在导致的。此时,可以根据具体情况进行调试或查找其他解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值