<resultMap id="BaseResultMap" type="com.lichen.springbootfirst.domain.NonOilOrder" >
    <id column="noo_id" property="nooId" jdbcType="BIGINT" />
    <result column="order_code" property="orderCode" jdbcType="VARCHAR" />
    <result column="station_id" property="stationId" jdbcType="BIGINT" />
    <result column="cm_id" property="cmId" jdbcType="BIGINT" />
    <result column="payable_amount" property="payableAmount" jdbcType="DECIMAL" />
    <result column="actually_amount" property="actuallyAmount" jdbcType="DECIMAL" />
    <result column="discount_amount" property="discountAmount" jdbcType="DECIMAL" />
    <result column="customer_id" property="customerId" jdbcType="BIGINT" />
    <result column="customer_phone" property="customerPhone" jdbcType="VARCHAR" />
    <result column="staff_id" property="staffId" jdbcType="BIGINT" />
    <result column="pay_type" property="payType" jdbcType="VARCHAR" />
    <result column="status" property="status" jdbcType="VARCHAR" />
    <result column="device_id" property="deviceId" jdbcType="VARCHAR" />
    <result column="pay_time" property="payTime" jdbcType="TIMESTAMP" />
    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
    <result column="enterprise_id" property="enterpriseId" jdbcType="BIGINT" />
    <result column="enterprise_name" property="enterpriseName" jdbcType="VARCHAR" />
    <result column="station_name" property="stationName" jdbcType="VARCHAR" />
    <result column="is_deleted" property="isDeleted" jdbcType="CHAR" />
    <result column="transaction_id" property="transactionId" jdbcType="VARCHAR" />
    <result column="merchants_no" property="merchantsNo" jdbcType="VARCHAR" />
    <result column="clear_no" property="clearNo" jdbcType="VARCHAR" />
    <result column="service_charge" property="serviceCharge" jdbcType="DECIMAL" />
    <result column="commission" property="commission" jdbcType="DECIMAL" />
    <result column="channel_fee_payer" property="channelFeePayer" jdbcType="CHAR" />
    <result column="discount_coupon_amount" property="discountCouponAmount" jdbcType="DECIMAL" />
    <result column="discount_coupon" property="discountCoupon" jdbcType="VARCHAR" />
    <collection property="orderDetailsList" ofType="com.lichen.springbootfirst.domain.OrderDetails">
      <id column="id" property="id" jdbcType="BIGINT" />
      <result column="order_code" property="orderCode" jdbcType="VARCHAR" />
      <result column="commodity_id" property="commodityId" jdbcType="BIGINT" />
      <result column="commodity_name" property="commodityName" jdbcType="VARCHAR" />
      <result column="commodity_code" property="commodityCode" jdbcType="VARCHAR" />
      <result column="bar_code" property="barCode" jdbcType="VARCHAR" />
      <result column="category_id" property="categoryId" jdbcType="BIGINT" />
      <result column="category_name" property="categoryName" jdbcType="VARCHAR" />
      <result column="commodity_num" property="commodityNum" jdbcType="BIGINT" />
      <result column="sale_price" property="salePrice" jdbcType="DECIMAL" />
      <result column="total_price" property="totalPrice" jdbcType="DECIMAL" />
      <result column="status" property="status" jdbcType="VARCHAR" />
      <result column="is_deleted" property="isDeleted" jdbcType="CHAR" />
      <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
      <result column="pay_time" property="payTime" jdbcType="TIMESTAMP" />
    </collection>
  </resultMap>
  <select id="selectNonOilOrderList" resultMap="BaseResultMap">
    select
    noo.noo_id,noo.order_code, noo.station_id, noo.payable_amount, noo.actually_amount, noo.discount_amount,
    noo.customer_id, noo.customer_phone, noo.staff_id, noo.pay_type, noo.status, noo.device_id,
    noo.pay_time, noo.create_time, noo.enterprise_id, noo.enterprise_name, noo.station_name,

    od.commodity_id, od.commodity_name, od.commodity_code, od.bar_code, od.category_id, od.category_name,
    od.commodity_num, od.sale_price, od.total_price
    from non_oil_order noo
    left join order_details od
    on noo.order_code = od.order_code
    <where>
      noo.is_deleted = 0 and noo.order_code = '1709844512147571075'
    </where>
  </select>
@Data
public class NonOilOrder {
    private Long nooId;

    private String orderCode;

    private Long stationId;

    private Long cmId;

    private BigDecimal payableAmount;

    private BigDecimal actuallyAmount;

    private BigDecimal discountAmount;

    private Long customerId;

    private String customerPhone;

    private Long staffId;

    private String payType;

    private String status;

    private String deviceId;

    private Date payTime;

    private Date createTime;

    private Long enterpriseId;

    private String enterpriseName;

    private String stationName;

    private String isDeleted;

    private String transactionId;

    private String merchantsNo;

    private String clearNo;

    private BigDecimal serviceCharge;

    private BigDecimal commission;

    private String channelFeePayer;

    private BigDecimal discountCouponAmount;

    private String discountCoupon;

    private List<OrderDetails> orderDetailsList ;  // 对应collection
}

注意:不能缺少两个表的id ,尤其是外层表 如上是non_oil_order 的 noo_id 字段

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐