Mysql 具有多个类的行映射器
我定义了两个服务:Mysql 具有多个类的行映射器,mysql,spring-mvc,jdbctemplate,spring-data,Mysql,Spring Mvc,Jdbctemplate,Spring Data,我定义了两个服务: Class cars model, year, mileage Class driver name, age, licExpDate 我在各自的服务中对每一项都进行了查询,即在car中查询与汽车相关的信息,在driver中查询与驾驶员相关的信息。此外,我在每个服务中都有RowMapper class CarRowMapper implements RowMapper<Car>{ @Override public Car mapRow(Res
Class cars
model, year, mileage
Class driver
name, age, licExpDate
我在各自的服务中对每一项都进行了查询,即在car
中查询与汽车相关的信息,在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;
}
}
那么,现在我如何在我的行映射器中拥有多个类,以便编写如下方法:
public List<Cars> carsWithDrivers() {
String query "...";
return service.getJdbcTemplate().query(query, Row_mapper_here?));
}
public List carsWithDrivers(){
字符串查询“…”;
return service.getJdbcTemplate().query(query,Row\u mapper\u here?);
}
假设您要使用的实现行映射器的类是MapCarWithDriver。现在在它里面,将有一个mapRow(ResultSet,intRownum)方法被重写。这将为已执行查询的结果集的每一行调用。现在您可以通过
Driver driver1=新的驱动程序()代码>
driver1.setName(rset.getString(“NAME”);
car1=新车(驾驶员1);
car1.setModel(rset.getString(“CAR”);
我认为您需要有一个单独的域对象CarWithDriver和carwithdriverrowmapprover,然后使用一个来容纳CAR和Driver。
public List<Cars> carsWithDrivers() {
String query "...";
return service.getJdbcTemplate().query(query, Row_mapper_here?));
}