jdbcTemplate的queryForList报错:Incorrect column count: expected 1, actual 2

jdbcTemplate的queryForList方法有多种传参形式,我们常用的就是这种传class类,参数返回数据,结果报expected 1, actual 2,意思是预期只返回一列,但却返回了2列。这是不合理的,因为返回参数都是List,怎么能预期1呢?

jdbcTemplate的queryForList报错:Incorrect column count: expected 1, actual 2_第1张图片
这个时候点进源码看,getSingleColumnRowMapper只构建一个mapper列,不等于1就抛错,真是岂有此理。
jdbcTemplate的queryForList报错:Incorrect column count: expected 1, actual 2_第2张图片
所以默认的getSingleColumnRowMapper不能拿来查对象,那么怎么办呢?
使用用query(sql, BeanPropertyRowMapper.newInstance(T.class));

你可能感兴趣的:(SpringBoot,spring,jdbc)