rs
结果如下:
Order(id=1, orderNumber=A1, orderRows=[OrderRow(itemName=Motherboard, quantity=0, price=5), OrderRow(itemName=Cpu, quantity=5, price=0)])
现在我想同时获得两个OrderRows
:
private RowMapper<Order> getPostRowMapper() {
return (rs, rowNum) -> {
Order order = new Order();
order.setId(rs.getLong("id"));
order.setOrderNumber(rs.getString("ordernumber"));
System.out.println("quan" + rs.getString("quantity")); // Prints 0
System.out.println("quan" + rs.getString("price")); // Prints 5
System.out.println("quan" + rs.getString("quantity")); // Prints 0 (should print 5)
return order;
};
}
如果我可以以某种方式分离a loop
的话,如果可以在OrderRows
中这样做,这就是我会这样做的方式:
//For the first iteration
if(resultSet.getString("itemname") != null){
order.add(new OrderRow(resultSet.getString("itemname"),
resultSet.getInt("quantity"), resultSet.getInt("price")));
}
while (resultSet.next()){
if(resultSet.getString("itemname") != null){
order.add(new OrderRow(resultSet.getString("itemname"),
resultSet.getInt("quantity"), resultSet.getInt("price")));
}
}
我有两个Objects
,一个是Order
,另一个是OrderRow
。是否可以在一个RowMapper
和一个Order/OrderRow
中创建多个对象,或者我是否需要多个请求?
或者我可以以某种方式遍历结果集中的所有OrderRows
并将其添加到迭代中的OrderRow
对象中吗?