jdbcTemplate的queryForList方法有多种传参形式,我们常用的就是这种传class类,参数返回数据,结果报expected 1, actual 2,意思是预期只返回一列,但却返回了2列。这是不合理的,因为返回参数都是List,怎么能预期1呢?
这个时候点进源码看,getSingleColumnRowMapper
只构建一个mapper列,不等于1就抛错,真是岂有此理。
所以默认的getSingleColumnRowMapper
不能拿来查对象,那么怎么办呢?
使用用query(sql, BeanPropertyRowMapper.newInstance(T.class));