版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012848709/article/details/82595786
楔子
使用spring jdbcTemplate 查询数据 封装list报错
IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 2
at org.springframework.jdbc.core.SingleColumnRowMapper.mapRow(SingleColumnRowMapper.java:92)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:697)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:684)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:716)
public List<SysRole> getUserByUserID(String uid) {
if (StringUtils.isEmpty(uid)) {
return null;
}
String sql = "SELECT t.* from `sys_role` t ,`sys_role_user` ru WHERE ru.rid=t.id AND ru.uid=?";
String[] param = { uid };
List<SysRole> query = jdbcTemplate.query(sql, param, new BeanPropertyRowMapper(SysRole.class));
// List<SysRole> query = jdbcTemplate.queryForList(sql, param, SysRole.class);
return query;
}
参考于 博客
我是用的spring 版本是 4.3.10.RELEASE
博客中使用的类或许已经被替换了 ,固使用new BeanPropertyRowMapper(SysRole.class)