在使用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));
对于为什么要这样写,可以后面慢慢看源码来理解,这里就不加赘述了。
在使用Spring的jdbcTemplate时遇到查询异常IncorrectResultSetColumnCountException,预期列数与实际不符。通过将查询代码改为使用BeanPropertyRowMapper,问题得到解决。调整后的代码为:List<GwVo> dataList = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(GwVo.class))。这种方法简化了映射过程,避免了列数不匹配的错误。后续可深入研究BeanPropertyRowMapper的源码以加深理解。
1163

被折叠的 条评论
为什么被折叠?



