IncorrectResultSetColumnCountException: Incorrect column count: expected 1, actual 2

版权声明:本文为博主原创文章,未经博主允许不得转载。 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)

猜你喜欢

转载自blog.csdn.net/u012848709/article/details/82595786