美文网首页
Mybatis联合查询积累

Mybatis联合查询积累

作者: JayMeWangGL | 来源:发表于2020-01-19 16:25 被阅读0次

    要求如下:

    从订单表中查询到订单id(ordersId),再通过查询中间表找到旅客id(travellerId),最后取得旅客信息。


    EER

    具体实现如下

    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);
    

    相关文章

      网友评论

          本文标题:Mybatis联合查询积累

          本文链接:https://www.haomeiwen.com/subject/zkwrzctx.html