Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring DAO文件,行映射器不是通用的_Java_Spring_Maven - Fatal编程技术网

Java Spring DAO文件,行映射器不是通用的

Java Spring DAO文件,行映射器不是通用的,java,spring,maven,Java,Spring,Maven,我正在使用SpringMaven,并试图用它连接我的SQL数据库 当我尝试使用rowmapper方法时,它说它不是泛型的 您不能实例化RowMapper,您应该创建自己的子类来用对象映射行 假设您的报价类别为: public class Offer { private Long id; private String name; public Long getId() { return id; } public void setId(f

我正在使用SpringMaven,并试图用它连接我的SQL数据库

当我尝试使用rowmapper方法时,它说它不是泛型的

您不能实例化RowMapper,您应该创建自己的子类来用对象映射行

假设您的报价类别为:

public class Offer {

    private Long id;
    private String name;

    public Long getId() {
        return id;
    }

    public void setId(final Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(final String name) {
        this.name = name;
    }

}
现在让我们假设您的offer表包含一个varchar列名和一个bigint列id

您的自定义行映射器类可能如下所示:

public class OfferMapper implements RowMapper<Offer> {

    public Offer mapRow(final ResultSet rs, final int row) throws SQLException {

        Offer offer = new Offer();

        offer.setId(rs.getLong("id"));
        offer.setName(rs.getString("name"));

        return offer;
    }

}

无论如何,RowMapper是一个接口,您不能像尝试那样实例化它。谢谢您。。使用hibernate连接数据库会更好吗?hibernate有很大的优势,映射是直接在实体对象级别声明的。在这里,您提供的对象带有注释,请务必尝试一下。@sumitslal:另外,如果当前的答案回答了您最初的问题,您是否可以将其标记为已接受的答案,谢谢:
return jdbc.query("select * from offer", new OfferMapper());