我定义了两项服务:
Class cars
model, year, mileage
Class driver
name, age, licExpDate我在自己的服务中为每个人提供了查询,即car中的cars查询和driver中的驱动程序查询。此外,我在每个服务中都有RowMapper。
class CarRowMapper implements RowMapper<Car>{
@Override
public Car mapRow(ResultSet rs, int rowNum) throws SQLException {
Car car = new Car();
car.setModel(rs.getString("model"));
return car;
}
}问题现在我需要导出一些数据,为此我需要编写一个查询,该查询将涉及car和driver在一个查询中的列:
例如:
SELECT A.CAR B.NAME FROM CAR A, DRIVER B WHERE A.ID = B.ID那么,现在我如何在我的RowMapper中有多个类,这样我就可以编写如下方法:
public List<Cars> carsWithDrivers() {
String query "...";
return service.getJdbcTemplate().query(query, Row_mapper_here?));
}发布于 2013-06-09 11:29:01
让我们假设您将要使用的实现RowMapper的类是MapCarWithDriver。现在,在它中将有一个mapRow(ResultSet,int rowNum)方法被覆盖。这将对执行查询的resultSet的每一行调用。因此,现在您可以通过以下方式创建自己的驱动程序对象
Driver driver1 = new Driver();
driver1.setName(rset.getString("NAME");
Car car1= new Car(driver1);
car1.setModel(rset.getString("CAR");
https://stackoverflow.com/questions/13166220
复制相似问题