要求如下:
從訂單表中查詢(xún)到訂單id(ordersId)婿滓,再通過(guò)查詢(xún)中間表找到旅客id(travellerId),最后取得旅客信息肉瓦。
EER
具體實(shí)現(xiàn)如下
OrdersDao
@Select("select * from orders where id=#{orderId}")
@Results({
@Result(id = true,column = "id",property = "id"),
@Result(column = "orderNum",property = "orderNum"),
@Result(column = "orderTime",property = "orderTime"),
@Result(column = "peopleCount",property = "peopleCount"),
@Result(column = "orderDesc",property = "orderDesc"),
@Result(column = "payType",property = "payType"),
@Result(column = "orderStatus",property = "orderStatus"),
@Result(column = "productId",property = "product",javaType = Product.class,one = @One(select = "com.wgl.dao.ProductDao.findById")),
@Result(column = "touristsId",property = "tourists",javaType = Tourists.class,one = @One(select = "com.wgl.dao.TouristsDao.findById")),
@Result(column = "id",property = "travellers",javaType = java.util.List.class,many = @Many(select = "com.wgl.dao.TravellerDao.findByOrdersId")),
})
Orders findById(int orderId) throws Exception;
TravellerDao
@Select("select * from traveller where id in(select travellerId from order_traveller where orderId=#{ordersId})")
public List<Traveller> findByOrdersId(Integer ordersId);