一、association 关键字标签:一对一全部放在一个reultMap里面
<resultMap type="com.residual.union.modular.sale.DTO.SaleSkuRecordItemDTO" id="saleRecordItemResultMap" autoMapping="true">
<id column="skuDetialId" jdbcType="BIGINT" property="skuDetialId" />
<association property="saleSkuRecordDetaiItemlDTO" javaType="com.residual.union.modular.sale.DTO.SaleSkuRecordDetaiItemlDTO" autoMapping="true">
<id column="skuDetialId" jdbcType="BIGINT" property="skuDetialId" />
</association>
<association property="saleSkuBuyerItemDTO" javaType="com.residual.union.modular.sale.DTO.SaleSkuBuyerItemDTO" autoMapping="true">
<id column="byuerId" jdbcType="BIGINT" property="byuerId" />
</association>
<association property="saleSkuSalerItemDTO" javaType="com.residual.union.modular.sale.DTO.SaleSkuSalerItemDTO" autoMapping="true">
<id column="sellerId" jdbcType="BIGINT" property="sellerId" />
</association>
</resultMap>
<select id="saleRecordItem" resultMap="saleRecordItemResultMap">
select
u2.id as byuerId,
u.id as sellerId,
soi.order_no as orderNo,
soi.create_time as createTime,
sod.id as skuDetialId,
sod.sku_id as skuId,
sod.sku_name as skuName,
case when ssi.postage = '0' then '包邮' when ssi.postage = '1' then '不包邮' end postage,
concat(CONVERT(sku_price,char),'元/',ssi.unit) as skuPrice,
concat(CONVERT(sod.sku_qty,char),ssi.unit) as skuQty,
concat(CONVERT(sod.sku_total_price,char),'元') as skuTotalPrice,
dt.name as orderStatus,
soi.create_time as createTime,
soi.deliver_time deliverTime,
soi.tracking_no as trackingNo,
d.name as sellerNickname,
d.phone as sellerPhone,
d2.name as buyerName,
d2.phone as buyerPhone,
d2.address as buyerAddress,
d2.age as sellerAge,
d2.sex_name as sellerSex,
d2.disabled_value as disabledValue,
d2.disabled_type as disabledType,
d2.disability_code as disabilityCode,
d2.IDcard,
d2.street,
d2.community,
concat(CONVERT((select count(1) from sale_sku_info ssi where ssi.seller = u.id),char),'件') as releaseNumber,
concat(CONVERT((select count(1)
from sale_order_info soi2
left join sale_order_detail sod2 on soi2.order_no = sod2.sale_order_no
where soi2.user_id = u2.id and sod2.sku_id = sod.sku_id and soi2.pay_status = '3'),char),'次') as buyNumber
from sale_order_info soi
left join sale_order_detail sod on soi.order_no = sod.sale_order_no
left join sale_sku_info ssi on ssi.id = sod.sku_id
left join dict dt on dt.val = soi.order_status and dt.pid = '2571'
left join user u on soi.seller_id = u.id
inner join authentication atn ON atn.id = u.authID AND atn.type = 2
left join disabled d ON atn.idcard = d.disability_code
left join user u2 on soi.user_id = u2.id
left join authentication atn2 ON atn2.id = u2.authID AND atn2.type = 2
left join disabled d2 ON atn2.idcard = d2.disability_code
where sod.id = #{skuDetialId}
</select>
二、collection 关键字标签:一对多
<resultMap id="userResumeResultMap" type="com.disable.zczj.modular.resume.pojo.ResumeInfoDTO" autoMapping="true">
<id column="id" jdbcType="BIGINT" property="id" />
<collection property="workExperienceList" ofType="com.disable.zczj.modular.resume.pojo.WorkExperienceItemDTO" autoMapping="true">
<id column="workExperienceId" jdbcType="BIGINT" property="workExperienceId" />
</collection>
</resultMap>
<select id="selectByUuserId" resultMap="userResumeResultMap">
SELECT
u.id,
u.icon as icon,
u.user_id as userId,
u.`name` as name,
u.sex as sex,
u.birthdate,
u.phone as phone,
u.disability_category as disabilityCategory,
u.disability_desc AS disabilityDesc,
u.disabled_value as disabledValue,
u.job_status as jobStatus,
u.introduction as introduction,
u.education,
u.skill,
uwe.id as workExperienceId,
uwe.start_time as startTime,
uwe.end_time as endTime,
uwe.position_name as positionName,
uwe.company as company
FROM
`user_resume` u
LEFT JOIN user_work_experience uwe ON u.id = uwe.user_resume_id
WHERE u.user_id= #{userId}
</select>
三、放在一起通过标签 select 属性引用其他sql
<resultMap id="orderDetailDTO" type="com.hdsj.admin.modular.ser.pojo.OrderDetailDTO">
<result column="order_code" property="orderCode" />
<result column="unitPrice" property="unitPrice" />
<result column="score" property="score" />
<result column="duration" property="duration" />
<result column="serviceMethodName" property="serviceMethodName" />
<result column="price" property="price" />
<result column="payMethodName" property="payMethodName" />
<result column="reserve_time" property="reserveTime" />
<result column="status" property="status" />
<result column="orderRemark" property="remark" />
<result column="serviceTime" property="serviceTime" />
<result column="serviceEndTime" property="serviceEndTime" />
<result column="startLongitude" property="startLongitude" />
<result column="startLatitude" property="startLatitude" />
<result column="endLongitude" property="endLongitude" />
<result column="endLatitude" property="endLatitude" />
<result column="phone" property="phone" />
<result column="address" property="address" />
<result column="serviceName" property="serviceName" />
<result column="serviceTypeName" property="serviceTypeName" />
<association column="waiterID" property="attendantDetail" select="com.hdsj.admin.mapper.UserMapper.getOrderAttendantDetailById" />
<collection column="orderID" property="lifePics" select="com.hdsj.admin.mapper.OrderServiceMapper.getlifePicsByOrderID" />
</resultMap>