【发布时间】:2018-03-06 02:54:32
【问题描述】:
我正在使用 Spring Maven,并尝试将我的 SQL 数据库与之连接。
当我尝试使用 rowmapper 方法时,它说它不是通用的。
【问题讨论】:
-
RowMapper无论如何都是一个接口,你不能像你尝试的那样实例化它。
我正在使用 Spring Maven,并尝试将我的 SQL 数据库与之连接。
当我尝试使用 rowmapper 方法时,它说它不是通用的。
【问题讨论】:
RowMapper 无论如何都是一个接口,你不能像你尝试的那样实例化它。
你不能实例化RowMapper,你应该创建自己的子类来映射行和对象。
让我们假设您的Offer 课程是这个:
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 列name 和一个bigint 列id。
您的自定义 RowMapper<Offer> 类可能如下所示:
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;
}
}
最后,使用您的自定义实现作为参数:
return jdbc.query("select * from offer", new OfferMapper());
【讨论】:
Offer 对象)声明,并带有注释,一定要试一试。