map返回多个数据的关系 A和B关系的!
A.xml文件
<select id="selectProjectInfoForContract" resultType="java.util.Map">
SELECT
a.project_id AS projectId,
b.customer_name AS customerName,
a.project_plan_start_date AS projectPlanStartDate,
a.project_plan_end_date AS projectPlanEndDate,
a.project_agreement_amount AS projectAgreementAmount,
a.project_number AS projectNumber
FROM
buz_project a
LEFT JOIN config_customer b ON a.project_customer_id = b.customer_id
WHERE
a.project_id = #{projectId}
</select>
B.xml
<select id="selectByDictCode" resultType="java.util.Map">
select
item_code as id,
item_value as text,
pid,
remarks
from
config_dic
where
dict_code = #{dictCode}
</select>
A.mapper或者dao
Map selectProjectInfoForContract(Long projectId);
B.mapper或者dao
List<Map> selectByDictCode(String dictCode);
业务serviceImp
@Override
public Map selectContractInfoByprojectId(Long projectId) {
Map map = buzProjectMapper.selectProjectInfoForContract(projectId);
List<Map> companyList = configDicMapper.selectByDictCode(ProjectConstants.COMPANY_NAME);
map.put("companyList",companyList);
return map;
}
业务service
Map selectContractInfoByprojectId(Long projectId);
接口controller
@GetMapping("/project/contract/info/{projectId}")
public JSONResult selectContractInfo(@PathVariable Long projectId){
Map result = buzProjectContractService.selectContractInfoByprojectId(projectId);
return JSONResult.ok(result);
}
A实体
/**
* 项目信息表
*
* @author wcyong
*
* @date 2019-02-26
*/
public class BuzProject {
private Long projectId;
/**
* 编号 年份+今年的数量
*/
private String projectNumber;
/**
* 登记人userid
*/
private Long projectCreateId;
/**
* 登记日期
*/
private Date projectCreateDate;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空")
private String projectName;
/**
* 计划开始日期
*/
@NotNull(message = "计划开始日期不能为空")
private Date projectPlanStartDate;
/**
* 计划结束日期
*/
@NotNull(message = "计划结束日期不能为空")
private Date projectPlanEndDate;
/**
* 项目归档日期
*/
private Date projectPlaceFileDate;
/**
* 协议金额
*/
@NotNull(message = "协议金额不能为空")
private BigDecimal projectAgreementAmount;
/**
* 合同金额
*/
private BigDecimal projectContractAmount;
/**
* 项目负责人
*/
private Long projectLeader;
/**
* 项目类型 查字典表
*/
@NotNull(message = "项目类型不能为空")
private Integer projectType;
/**
* 项目详细类型
*/
private Integer projectDetailedType;
/**
* 项目状态 查字典表project_state
*/
private Integer projectState;
/**
* 备注
*/
private String projectRemarks;
/**
* 所属客户id
*/
@NotNull(message = "客户不能为空")
private Long projectCustomerId;
/**
* 联系人id
*/
private Long projectContactsId;
/**
* 项目所属部门ID
*/
@NotNull(message = "所属部门不能为空")
private Long projectDeptId;
/**
* 项目更新日期
*/
private Date projectUpdateDate;
/**
* 项目更新人userid
*/
private Integer projectUpdateId;
/**
* (0正常/1删除)
*/
private Integer projectIsdelete;
B实体
public class ConfigDic {
private Long id;
/**
* 父id(0为根)
*/
private Integer pid;
/**
* 字典名
*/
private String dictName;
/**
* 字典名关键字
*/
private String dictCode;
private String itemCode;
private String itemValue;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 备注
*/
private String remarks;
sql得到的结果集合图像展示
m
a
p
.
p
u
t
(
"
c
o
m
p
a
n
y
L
i
s
t
"
,
c
o
m
p
a
n
y
L
i
s
t
)
;
map.put("companyList",companyList);
map.put("companyList",companyList);
ate updateTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 备注
*/
private String remarks;
sql得到的结果集合图像展示
[外链图片转存中...(img-dcWWnnQR-1595406768574)]
$$
map.put("companyList",companyList);
$$