【问题标题】:RowMapper is abstract cannot be instantiatedRowMapper 是抽象的,无法实例化
【发布时间】:2012-10-14 23:59:24
【问题描述】:

我正在尝试实现 SO here 中提到的解决方案但是,我收到错误消息“Rowmapper 是抽象的,无法实例化”和“表达式的非法开始”。以下正是我所拥有的

List<String> strLst  = jdbcTemplate.query(query,
                    new RowMapper {
                        public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
                            return rs.getString(1);
                        }
                    });

如果我的查询中有多个 ? 怎么办。

例如:

select * from table where a = ? and b = ?

如何在上面的代码中将参数 (?) 传递到此查询中?

【问题讨论】:

    标签: java spring-mvc jdbc jdbctemplate


    【解决方案1】:

    您正在实现的代码使用RowMapper 的匿名子类。正确的语法是:

    new RowMapper() { ... }
    

    你只是无意中漏掉了()

    【讨论】:

    • 我编辑了这个问题,你能告诉我如何添加更多的参数值,以便它们可以在 queyr 中替换吗?
    • 拥有多个参数这一事实并不重要。重要的是返回的列数。如果您可以更精确地显示您尝试读取的表的架构,我可以向您展示如何使用 Spring JDBC 检索行没有问题。
    猜你喜欢
    • 2014-12-29
    • 1970-01-01
    • 2022-06-15
    • 2016-05-01
    • 2013-03-07
    • 2015-08-04
    • 1970-01-01
    • 2015-10-06
    相关资源
    最近更新 更多