mybatis 一对多配置
import com. fasterxml. jackson. annotation. JsonFormat ;
import io. swagger. annotations. ApiModel ;
import io. swagger. annotations. ApiModelProperty ;
import lombok. AllArgsConstructor ;
import lombok. Data ;
import lombok. NoArgsConstructor ;
import org. springframework. format. annotation. DateTimeFormat ;
import java. math. BigDecimal ;
import java. util. Date ;
import java. util. List ;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel ( "付款凭证信息" )
public class PayInfoVo {
@ApiModelProperty ( "订单Id" )
private String orderId;
@ApiModelProperty ( "付款凭证ID" )
private String payInfoId;
@ApiModelProperty ( "付款凭证图片" )
private String bankSlipPicUrl;
@ApiModelProperty ( "订单价格" )
private BigDecimal saleAmount;
@ApiModelProperty ( "订单创建时间" )
@JsonFormat ( timezone = "GMT+8" , pattern = "yyyy-MM-dd HH:mm:ss" )
@DateTimeFormat ( pattern= "yyyy-MM-dd HH:mm:ss" )
private Date createTime;
@ApiModelProperty ( "产品信息" )
private List < ProductVo > list;
}
import io. swagger. annotations. ApiModel ;
import io. swagger. annotations. ApiModelProperty ;
import lombok. AllArgsConstructor ;
import lombok. Data ;
import lombok. NoArgsConstructor ;
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel ( "合同订单产品信息" )
public class ProductVo {
@ApiModelProperty ( "产品Id" )
private String productId;
@ApiModelProperty ( "产品名称" )
private String productName;
@ApiModelProperty ( "产品图片" )
private String productParamPicUrl;
@ApiModelProperty ( "产品简介" )
private String productBrief;
}
< resultMap type= "org.jeecg.modules.saleAddBack.entity.vo.PayInfoVo" id= "payInfoVoResult" >
< result property= "orderId" column= "order_id" / >
< result property= "payInfoId" column= "pay_info_id" / >
< result property= "bankSlipPicUrl" column= "bank_slip_pic_url" / >
< result property= "saleAmount" column= "sale_amount" / >
< result property= "createTime" column= "create_time" / >
< collection property= "list" ofType= "org.jeecg.modules.saleAddBack.entity.vo.ProductVo" >
< ! -- productId: 产品信息的唯一标识 -- >
< id column= "product_id" property= "productId" / >
< result column= "product_name" property= "productName" / >
< result column= "product_param_pic_url" property= "productParamPicUrl" / >
< result column= "product_brief" property= "productBrief" / >
< / collection>
< / resultMap>
SELECT
a. pay_info_id,
b. order_id,
b. create_time,
a. bank_slip_pic_url,
b. sale_amount,
d. product_id,
c. product_name,
d. product_brief,
d. product_param_pic_url
FROM
sadd_pay_info a
LEFT JOIN sadd_order b ON a. order_id = b. order_id
LEFT JOIN sadd_order_detail c on b. order_id = c. order_id
LEFT JOIN sadd_product_info d ON d. product_id = c. product_id
WHERE
b. pay_method = 1
AND b. pay_document_status = 1
AND b. user_detail_id = "2322"
```