jdbc.IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 14

在使用Spring的jdbcTemplate时遇到查询异常IncorrectResultSetColumnCountException,预期列数与实际不符。通过将查询代码改为使用BeanPropertyRowMapper,问题得到解决。调整后的代码为:List<GwVo> dataList = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(GwVo.class))。这种方法简化了映射过程,避免了列数不匹配的错误。后续可深入研究BeanPropertyRowMapper的源码以加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用jdbcTemplate时,当要实现根据SQL语句查询出实体类集合的时候,使用

List<GwVo> datalist = jdbcTemplate.queryForList(Sql, GwVo.class);

是不是觉得轻而易举的得到对应的实体类集合?

但是,实际上是这样的!

org.springframework.jdbc.IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 14

这样的!!
请添加图片描述
这样的!!!
在这里插入图片描述
结果和预想完全,,完全不一致。。。。。


先抛开原因不说,实际你也想找解决方法而已😏😏,把这个查询的代码进行修改就可以了。

List<GwVo> datalist = jdbcTemplate.query(Sql,BeanPropertyRowMapper.newInstance(GwVo.class));

对于为什么要这样写,可以后面慢慢看源码来理解,这里就不加赘述了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是哈猿啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值