Mapper条件映射:
1.group
<resultMap type="com.itheima.pojo.CheckGroup" id="baseResultMap">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="helpCode" property="helpCode"/>
<result column="sex" property="sex"/>
<result column="remark" property="remark"/>
<result column="attention" property="attention"/>
</resultMap>
<resultMap type="com.itheima.pojo.CheckGroup"
id="findByIdResultMap"
extends="baseResultMap">
<collection property="checkItems"
javaType="ArrayList"
ofType="com.itheima.pojo.CheckItem"
column="id"
select="com.itheima.dao.CheckItemDao.findCheckItemById">
</collection>
</resultMap>
<!--根据套餐id查询检查项信息-->
<select id="findCheckGroupById" resultMap="findByIdResultMap">
select * from t_checkgroup
where id
in (select checkgroup_id from t_setmeal_checkgroup where setmeal_id=#{id})
</select>
2.setmeal:
<!--基础映射关系-->
<resultMap id="baseResultMap" type="com.itheima.pojo.Setmeal">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="code" property="code"/>
<result column="helpCode" property="helpCode"/>
<result column="sex" property="sex"/>
<result column="age" property="age"/>
<result column="price" property="price"/>
<result column="remark" property="remark"/>
<result column="attention" property="attention"/>
<result column="img" property="img"/>
</resultMap>
<!--继承上面映射 对 setmeal 类中属性 List<CheckGroup>类型进行结果映射-->
<resultMap id="findByIdResultMap" type="com.itheima.pojo.Setmeal" extends="baseResultMap">
<collection property="checkGroups"
ofType="com.itheima.pojo.CheckGroup"
javaType="ArrayList"
column="id"
select="com.itheima.dao.CheckGroupDao.findCheckGroupById">
</collection>
</resultMap>
<select id="findById" parameterType="int" resultMap="findByIdResultMap">
select * from t_setmeal where id=#{id}
</select>
pojo:
package com.itheima.pojo;
import java.io.Serializable;
import java.util.List;
/**
* 检查组
*/
public class CheckGroup implements Serializable {
private Integer id;//主键
private String code;//编码
private String name;//名称
private String helpCode;//助记
private String sex;//适用性别
private String remark;//介绍
private String attention;//注意事项
private List<CheckItem> checkItems;//一个检查组合包含多个检查项
public List<CheckItem> getCheckItems() {
return checkItems;
}
public void setCheckItems(List<CheckItem> checkItems) {
this.checkItems = checkItems;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHelpCode() {
return helpCode;
}
public void setHelpCode(String helpCode) {
this.helpCode = helpCode;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAttention() {
return attention;
}
public void setAttention(String attention) {
this.attention = attention;
}
}
package com.itheima.pojo;
import java.io.Serializable;
import java.util.List;
/**
* 体检套餐
*/
public class Setmeal implements Serializable {
private Integer id;
private String name;
private String code;
private String helpCode;
private String sex;//套餐适用性别:0不限 1男 2女
private String age;//套餐适用年龄
private Float price;//套餐价格
private String remark;
private String attention;
private String img;//套餐对应图片存储路径
private List<CheckGroup> checkGroups;//体检套餐对应的检查组,多对多关系
public List<CheckGroup> getCheckGroups() {
return checkGroups;
}
public void setCheckGroups(List<CheckGroup> checkGroups) {
this.checkGroups = checkGroups;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getHelpCode() {
return helpCode;
}
public void setHelpCode(String helpCode) {
this.helpCode = helpCode;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Float getPrice() {
return price;
}
public void setPrice(Float price) {
this.price = price;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAttention() {
return attention;
}
public void setAttention(String attention) {
this.attention = attention;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
}