在 queryForList 中获取 IncorrectResultSetColoumnCount 异常

Getting IncorrectResultSetColoumnCount exception in queryForList

我正在使用 queryForList 从数据库中获取列表,

我的代码看起来像,

List<RoleIdBean> role = jdbcTemplate.queryForList(query , new Object[] {userId},RoleIdBean.class);

query = select * from role where userid=?

role table 有两个列,roleIdBean 有两个变量。

当我 运行 这段代码是 expected 1, actual 2

有人可以检查一下我哪里出错了,并协助如何使用这个方法。

正如 M. Deinum 提到的,您必须提供 RowMapper 接口的实现,以便 Spring 知道 table 中的哪些列映射到对象的哪些属性(RoleIdBean).比如像这样:

List<RoleIdBean> list = jdbcTemplate.query("SELECT * FROM role_id", new Object[]{ userId }, new RowMapper<RoleIdBean>() {
    @Override
    public RoleIdBean mapRow(ResultSet rs, int rowNum) throws SQLException {
        RoleIdBean bean = new RoleIdBean();
        // Set properties from the ResultSet, e.g:
        // bean.setRole(rs.getString(1));
        return bean;
    }
});