需要实现的功能:查询一个标题下有多少副标题
实体类一(标题)
package com.xmtdxt.pc.api.sys.responseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 编辑说明-列表
* @author LunarYouI
* @create 2022-03-31 16:39
*/
@Data
public class ResponseHeadlineTwoListEntity implements Serializable {
@ApiModelProperty(value = "标题主键id")
private String id;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "副标题")
private List<ResponseAssistantEntity> assistant;
}
实体类二(副标题)
package com.xmtdxt.pc.api.sys.responseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author LunarYouI
* @create 2022-04-11 15:34
*/
@Data
public class ResponseAssistantEntity implements Serializable {
@ApiModelProperty(value = "副标题主键id")
private String assistantId;
@ApiModelProperty(value = "副标题")
private String assistantTitle;
@ApiModelProperty(value = "价格")
private String assistantDescription;
}
业务代码
/**
* 获取列表
* @param weddingHallId
* @return
*/
@Override
public Result<List<ResponseHeadlineTwoListEntity>> HeadlineTwoList(String weddingHallId) {
List<ResponseHeadlineTwoListEntity> responseHeadlineTwoListEntities = baseMapper.HeadlineTwoList(weddingHallId);
return Result.ok(responseHeadlineTwoListEntities);
}
DAO
package com.xmtdxt.pc.api.sys.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xmtdxt.pc.api.sys.entity.SysWeddingHallDescriptionTitleEntity;
import com.xmtdxt.pc.api.sys.responseEntity.ResponseHeadlineTwoListEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 婚礼堂说明-标题
* @author
* @email
* @date 2021-10-14 11:28:16
*/
@Mapper
public interface SysWeddingHallDescriptionTitleDao extends BaseMapper<SysWeddingHallDescriptionTitleEntity> {
/**
* 获取编辑说明-列表
* @param weddingHallId
* @return
*/
List<ResponseHeadlineTwoListEntity> HeadlineTwoList(String weddingHallId);
}
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xmtdxt.pc.api.sys.dao.SysWeddingHallDescriptionTitleDao">
<resultMap type="com.xmtdxt.pc.api.sys.responseEntity.ResponseHeadlineTwoListEntity" id="title">
<id column="id" property="id" />
<result column="title" property="title" />
<!-- 返回对象<association property="" javaType=""></association> -->
<!-- 返回集合<collection property="" ofType="" /> -->
<collection property="assistant" ofType="com.xmtdxt.pc.api.sys.responseEntity.ResponseAssistantEntity" column="wedding_hall_id">
<!-- 这里的column对应的是下面查询的别名,而不是表字段名 -->
<id column="assistantId" property="assistantId" />
<!-- property对应JavaBean中的属性名 -->
<result column="assistantTitle" property="assistantTitle" />
<result column="assistantDescription" property="assistantDescription" />
</collection>
</resultMap>
<select id="HeadlineTwoList" parameterType="com.xmtdxt.pc.api.sys.responseEntity.ResponseHeadlineTwoListEntity" resultMap="title">
SELECT
t1.id,
t1.title,
t2.id as assistantId,
t2.title as assistantTitle,
t2.description as assistantDescription
FROM
sys_wedding_hall_description_title AS t1
LEFT JOIN(
SELECT
id,
title,
description,
wedding_hall_description_title_id
FROM
sys_wedding_hall_description_content
) as t2 on t2.wedding_hall_description_title_id=t1.id
WHERE
t1.is_del=0 and t1.wedding_hall_id = #{
weddingHallId}
</select>
</mapper>