1. 程式人生 > 實用技巧 >mybatis的<if>標籤,<foreach>標籤,<collection>標籤,<association>標籤以及useGeneratedKeys用法

mybatis的<if>標籤,<foreach>標籤,<collection>標籤,<association>標籤以及useGeneratedKeys用法

<if>標籤

1.判斷非空或不等於

 <if test="assessTypes!= null and assessTypes!='' ">
AND FIND_IN_SET(t1.assess_type,#{assessTypes})
</if>

2.判斷等於某個固定字元

<if test='rankWay=="byAssessDate"  and isDesc=="1"  '>
ORDER BY t1.assess_date DESC
</if>

注意:這裡的主要區別在於

  1.判斷不等於時雙引號在外,單引號在內

  2.判斷等於時單引號在外,雙引號在內(此時雙引號標誌固定的字元)

<foreach>標籤

1.sql語句

<update id="makeConfig1ListApplying" >
update c_u_custom_analysis_config_1
set
is_use=1
where id IN
<foreach collection="config1IdList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>

2.dao層

Integer makeConfig1ListApplying(@Param("config1IdList")List<Integer> config1IdList);

一對多<collection>標籤

1.sql語句

<resultMap id="customAnalysisConfig" type="com.pdzx.entity.CustomAnalysisConfig1">
<id column="analysis1Id" jdbcType="INTEGER" property="analysis1Id" />
<result column="company_id" property="companyId" />
<result column="assess_type" property="assessType" />
<result column="building_type" property="buildingType" />
<result column="special_type" property="specialType" />
<result column="analysis_name" property="analysisName" />
<result column="analysis_type" property="analysisType" />
<result column="x_axis_unit" property="xAxisUnit" />
<result column="y_axis_unit" property="yAxisUnit" />
<result column="desc_content" property="descContent" />
<result column="analysis_status" property="analysisStatus" />
<result column="is_use" property="isUse" />
<result column="orderby" property="orderby" />
<result column="create_time" property="createTime" />
<result column="create_user" property="createUser" />
<!--這裡的property就是CustomAnalysisConfig的 List<CustomAnalysisConfig2>屬性的名字 customAnalysisConfig2List-->
<!--這裡的ofType就是CustomAnalysisConfig的 List<CustomAnalysisConfig2>屬性的單個CustomAnalysisConfig2-->
<collection property="customAnalysisConfig2List" ofType="com.pdzx.entity.CustomAnalysisConfig2">
<result column="analysis2Id" property="analysis2Id" />
<result column="analysis1_id" property="analysis1Id" />
<result column="x_axis_data" property="xAxisData" />
<collection property="customAnalysisConfig3List" ofType="com.pdzx.entity.CustomAnalysisConfig3">
<result column="analysis3Id" property="analysis3Id" />
<result column="analysis2_id" property="analysis2Id" />
<result column="y_axis_dname" property="yAxisDname" />
<result column="y_axis_data" property="yAxisData" />
</collection>
</collection>
</resultMap>
<select id="getCustomAnalysisConfigByTemplateId" parameterType="com.pdzx.entity.CustomAnalysisConfig1" resultMap="customAnalysisConfig">
SELECT
t1.id AS analysis1Id,
t1.company_id ,
t1.assess_type ,
t1.building_type ,
t1.special_type,
t1.analysis_name ,
t1.analysis_type ,
t1.x_axis_unit ,
t1.y_axis_unit ,
t1.desc_content ,
t1.analysis_status ,
t1.is_use ,
t1.orderby ,
t1.create_time ,
t1.create_user ,
t2.id AS analysis2Id,
t2.analysis1_id ,
t2.x_axis_data ,
t3.id AS analysis3Id,
t3.analysis2_id ,
t3.y_axis_dname ,
t3.y_axis_data
FROM c_u_custom_analysis_config_1 AS t1
JOIN c_u_custom_analysis_config_2 AS t2 ON t1.id=t2.analysis1_id
JOIN c_u_custom_analysis_config_3 AS t3 ON t2.id=t3.analysis2_id
WHERE t1.company_id=#{companyId}
AND t1.assess_type=#{assessType}
AND t1.building_type=#{buildingType}
AND IFNULL(t1.special_type,'')=IFNULL(#{specialType},'')
ORDER BY t1.orderby ASC
</select>

2.實體類

CustomAnalysisConfig1

package com.pdzx.entity;

import java.util.Date;
import java.util.List; public class CustomAnalysisConfig1 { private Integer analysis1Id;
private Integer id; private Integer companyId; private String assessType; private String buildingType; private String specialType; private String analysisName; private Byte analysisType; private String xAxisUnit; private String yAxisUnit; private String descContent; private Byte analysisStatus; private Byte isUse; private Short orderby; private Date createTime; private String createUser; private Date modifyTime; private String modifyUser; private List<CustomAnalysisConfig2> customAnalysisConfig2List; public Byte getIsUse() {
return isUse;
} public void setIsUse(Byte isUse) {
this.isUse = isUse;
} public List<CustomAnalysisConfig2> getCustomAnalysisConfig2List() {
return customAnalysisConfig2List;
} public void setCustomAnalysisConfig2List(List<CustomAnalysisConfig2> customAnalysisConfig2List) {
this.customAnalysisConfig2List = customAnalysisConfig2List;
} public Integer getAnalysis1Id() {
return analysis1Id;
} public void setAnalysis1Id(Integer analysis1Id) {
this.analysis1Id = analysis1Id;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public Integer getCompanyId() {
return companyId;
} public void setCompanyId(Integer companyId) {
this.companyId = companyId;
} public String getAssessType() {
return assessType;
} public void setAssessType(String assessType) {
this.assessType = assessType;
} public String getBuildingType() {
return buildingType;
} public void setBuildingType(String buildingType) {
this.buildingType = buildingType;
} public String getSpecialType() {
return specialType;
} public void setSpecialType(String specialType) {
this.specialType = specialType;
} public String getAnalysisName() {
return analysisName;
} public void setAnalysisName(String analysisName) {
this.analysisName = analysisName;
} public Byte getAnalysisType() {
return analysisType;
} public void setAnalysisType(Byte analysisType) {
this.analysisType = analysisType;
} public String getxAxisUnit() {
return xAxisUnit;
} public void setxAxisUnit(String xAxisUnit) {
this.xAxisUnit = xAxisUnit;
} public String getyAxisUnit() {
return yAxisUnit;
} public void setyAxisUnit(String yAxisUnit) {
this.yAxisUnit = yAxisUnit;
} public String getDescContent() {
return descContent;
} public void setDescContent(String descContent) {
this.descContent = descContent;
} public Byte getAnalysisStatus() {
return analysisStatus;
} public void setAnalysisStatus(Byte analysisStatus) {
this.analysisStatus = analysisStatus;
} public Short getOrderby() {
return orderby;
} public void setOrderby(Short orderby) {
this.orderby = orderby;
} public Date getCreateTime() {
return createTime;
} public void setCreateTime(Date createTime) {
this.createTime = createTime;
} public String getCreateUser() {
return createUser;
} public void setCreateUser(String createUser) {
this.createUser = createUser;
} public Date getModifyTime() {
return modifyTime;
} public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
} public String getModifyUser() {
return modifyUser;
} public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
} @Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", companyId=").append(companyId);
sb.append(", assessType=").append(assessType);
sb.append(", buildingType=").append(buildingType);
sb.append(", specialType=").append(specialType);
sb.append(", analysisName=").append(analysisName);
sb.append(", analysisType=").append(analysisType);
sb.append(", xAxisUnit=").append(xAxisUnit);
sb.append(", yAxisUnit=").append(yAxisUnit);
sb.append(", descContent=").append(descContent);
sb.append(", analysisStatus=").append(analysisStatus);
sb.append(", orderby=").append(orderby);
sb.append(", createTime=").append(createTime);
sb.append(", createUser=").append(createUser);
sb.append(", modifyTime=").append(modifyTime);
sb.append(", modifyUser=").append(modifyUser);
sb.append("]");
return sb.toString();
}
}

CustomAnalysisConfig2

package com.pdzx.entity;

import java.util.List;

public class CustomAnalysisConfig2 {

    private Integer analysis2Id;
private Integer id; private Integer analysis1Id; private String xAxisData; private List<CustomAnalysisConfig3> customAnalysisConfig3List; public List<CustomAnalysisConfig3> getCustomAnalysisConfig3List() {
return customAnalysisConfig3List;
} public void setCustomAnalysisConfig3List(List<CustomAnalysisConfig3> customAnalysisConfig3List) {
this.customAnalysisConfig3List = customAnalysisConfig3List;
} public Integer getAnalysis2Id() {
return analysis2Id;
} public void setAnalysis2Id(Integer analysis2Id) {
this.analysis2Id = analysis2Id;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public Integer getAnalysis1Id() {
return analysis1Id;
} public void setAnalysis1Id(Integer analysis1Id) {
this.analysis1Id = analysis1Id;
} public String getxAxisData() {
return xAxisData;
} public void setxAxisData(String xAxisData) {
this.xAxisData = xAxisData;
} @Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", analysis1Id=").append(analysis1Id);
sb.append(", xAxisData=").append(xAxisData);
sb.append("]");
return sb.toString();
}
}

CustomAnalysisConfig3

package com.pdzx.entity;

public class CustomAnalysisConfig3 {
private Integer analysis3Id;
private Integer id; private Integer analysis2Id; private String yAxisDname; private String yAxisData; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public Integer getAnalysis2Id() {
return analysis2Id;
} public void setAnalysis2Id(Integer analysis2Id) {
this.analysis2Id = analysis2Id;
} public String getyAxisDname() {
return yAxisDname;
} public void setyAxisDname(String yAxisDname) {
this.yAxisDname = yAxisDname;
} public String getyAxisData() {
return yAxisData;
} public void setyAxisData(String yAxisData) {
this.yAxisData = yAxisData;
} public Integer getAnalysis3Id() {
return analysis3Id;
} public void setAnalysis3Id(Integer analysis3Id) {
this.analysis3Id = analysis3Id;
} @Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", analysis2Id=").append(analysis2Id);
sb.append(", yAxisDname=").append(yAxisDname);
sb.append(", yAxisData=").append(yAxisData);
sb.append("]");
return sb.toString();
}
}

3.dao層

List<CustomAnalysisConfig1> getCustomAnalysisConfigByTemplateId(CustomAnalysisConfig1 customAnalysisConfig1 );

一對一<association>標籤

1.sql語句

<!--手機端下載模板-->
<resultMap id="templateInfos" type="com.pdzx.po.PparamCategory">
<id column="category_id" jdbcType="VARCHAR" property="id" />
<result column="categoryName" jdbcType="VARCHAR" property="name" />
<collection property="paramGroup" ofType="com.pdzx.po.PparamGroup">
<id column="group_id" jdbcType="VARCHAR" property="id" />
<result column="groupName" jdbcType="VARCHAR" property="name" />
<result column="category_id" jdbcType="VARCHAR" property="categoryId" />
<collection property="paramItem" ofType="com.pdzx.po.PparamItem">
<id column="item_id" jdbcType="VARCHAR" property="id" />
<result column="itemName" jdbcType="VARCHAR" property="name" />
<result column="group_id" jdbcType="VARCHAR" property="groupId" />
<result column="additemName" jdbcType="VARCHAR" property="additemName" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<!--這裡PparamItem和BTemplateRelation同級是一對一的關係,即一個物件內包含一個物件-->
<association property="bTemplateRelation" javaType="com.pdzx.po.BTemplateRelation">
<id column="templ_rela_id" jdbcType="VARCHAR" property="id" />
</association>
</collection>
</collection>
</resultMap>
<select id="downTempl" parameterType="map" resultMap="templateInfos">
select
t1.category_id,
t2.name categoryName,
t1.group_id,
t3.name groupName,
t1.item_id,
t4.name itemName,
t1.remark,
fun_param_idtoname(t1.remark, 'p_param_additem') additemName,
t1.id templ_rela_id
from b_template_relation t1
left join p_param_category t2 on t2.category_id=t1.category_id
left join p_param_group t3 on t3.group_id=t1.group_id
left join p_param_item t4 on t4.item_id=t1.item_id
where t1.template_id=#{templateId}
and t1.assess_type =#{assessType}
and t1.building_type = #{buildingType}
and t1.flag = #{flag}
and ifnull(t1.special_type, '') = ifnull(#{specialType}, '')
order by t1.rowindex,t2.category_id,t3.group_id,t4.item_id
</select>

2.實體類

PparamItem

package com.pdzx.po;

/**
*
* @author lyz
* p_param_item資料表
* 三級目錄三級分類
*/
public class PparamItem { private String id;
private String name;
private Integer groupId;
private String remark;
private Integer orderby;
private PparamGroup paramGroup;
private BTemplateRelation bTemplateRelation; private String additemName;
private String templateId; public String getTemplateId() {
return templateId;
} public void setTemplateId(String templateId) {
this.templateId = templateId;
} public String getAdditemName() {
return additemName;
} public void setAdditemName(String additemName) {
this.additemName = additemName;
} public BTemplateRelation getbTemplateRelation() {
return bTemplateRelation;
} public void setbTemplateRelation(BTemplateRelation bTemplateRelation) {
this.bTemplateRelation = bTemplateRelation;
} /**
* @return the id
*/
public String getId() {
return id;
} /**
* @param id the id to set
*/
public void setId(String id) {
this.id = id;
} /**
* @return the name
*/
public String getName() {
return name;
} /**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
} /**
* @return the groupId
*/
public Integer getGroupId() {
return groupId;
} /**
* @param groupId the groupId to set
*/
public void setGroupId(Integer groupId) {
this.groupId = groupId;
} /**
* @return the remark
*/
public String getRemark() {
return remark;
} /**
* @param remark the remark to set
*/
public void setRemark(String remark) {
this.remark = remark;
} /**
* @return the orderby
*/
public Integer getOrderby() {
return orderby;
} /**
* @param orderby the orderby to set
*/
public void setOrderby(Integer orderby) {
this.orderby = orderby;
} /**
* @return the paramGroup
*/
public PparamGroup getParamGroup() {
return paramGroup;
} /**
* @param paramGroup the paramGroup to set
*/
public void setParamGroup(PparamGroup paramGroup) {
this.paramGroup = paramGroup;
} @Override
public String toString() {
return "PparamItem [id=" + id + ", name=" + name + ", groupId=" + groupId + ", remark=" + remark + ", orderby="
+ orderby + ", paramGroup=" + paramGroup + ", bTemplateRelation=" + bTemplateRelation + "]";
} }

BTemplateRelation

package com.pdzx.po;

import java.util.List;

/**
*
* @author lyz 模板關聯三級分類
* @param
*/
public class BTemplateRelation { private String id;
private Integer templateId;
private Integer groupId;
private Integer categoryId;
private Integer itemId;
private String flag;
private String remark;
private String buildingType;
private String assessType;
private BaseTemple bBaseTemplate;
private PparamCategory paramCategory;
private PparamGroup paramGroup;
private PparamItem paramItem;
private String remarkName;
private BMrqAssessRes bmrqAssessRes;
private List<BTemplateRelationDetail> relaDetailList;
private List<QRRelationDetail> qrRelationDetail; private List<IFTemplateRela> ifRelaDetailList; public List<IFTemplateRela> getIfRelaDetailList() {
return ifRelaDetailList;
} public void setIfRelaDetailList(List<IFTemplateRela> ifRelaDetailList) {
this.ifRelaDetailList = ifRelaDetailList;
} /*
* 安全文明
*/
private SCActualScore scActualScore;
private List<SCTemplateRelationDetail> sctempRelaDetail;
private BShouldScore shouldscore; /*
* 簡報圖片
*/
private Images imagesList; public String getRemarkName() {
return remarkName;
} public void setRemarkName(String remarkName) {
this.remarkName = remarkName;
} public Images getImagesList() {
return imagesList;
} public void setImagesList(Images imagesList) {
this.imagesList = imagesList;
} public BShouldScore getShouldscore() {
return shouldscore;
} public void setShouldscore(BShouldScore shouldscore) {
this.shouldscore = shouldscore;
} public SCActualScore getScActualScore() {
return scActualScore;
} public void setScActualScore(SCActualScore scActualScore) {
this.scActualScore = scActualScore;
} public List<SCTemplateRelationDetail> getSctempRelaDetail() {
return sctempRelaDetail;
} public void setSctempRelaDetail(List<SCTemplateRelationDetail> sctempRelaDetail) {
this.sctempRelaDetail = sctempRelaDetail;
} public List<QRRelationDetail> getQrRelationDetail() {
return qrRelationDetail;
} public void setQrRelationDetail(List<QRRelationDetail> qrRelationDetail) {
this.qrRelationDetail = qrRelationDetail;
} public String getAssessType() {
return assessType;
} public void setAssessType(String assessType) {
this.assessType = assessType;
} public List<BTemplateRelationDetail> getRelaDetailList() {
return relaDetailList;
} public void setRelaDetailList(List<BTemplateRelationDetail> relaDetailList) {
this.relaDetailList = relaDetailList;
} public BaseTemple getbBaseTemplate() {
return bBaseTemplate;
} public void setbBaseTemplate(BaseTemple bBaseTemplate) {
this.bBaseTemplate = bBaseTemplate;
} public String getBuildingType() {
return buildingType;
} public void setBuildingType(String buildingType) {
this.buildingType = buildingType;
} public BMrqAssessRes getBmrqAssessRes() {
return bmrqAssessRes;
} public void setBmrqAssessRes(BMrqAssessRes bmrqAssessRes) {
this.bmrqAssessRes = bmrqAssessRes;
} public PparamCategory getParamCategory() {
return paramCategory;
} public void setParamCategory(PparamCategory paramCategory) {
this.paramCategory = paramCategory;
} public PparamGroup getParamGroup() {
return paramGroup;
} public void setParamGroup(PparamGroup paramGroup) {
this.paramGroup = paramGroup;
} public PparamItem getParamItem() {
return paramItem;
} public void setParamItem(PparamItem paramItem) {
this.paramItem = paramItem;
} public Integer getTemplateId() {
return templateId;
} public void setTemplateId(Integer templateId) {
this.templateId = templateId;
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getFlag() {
return flag;
} public void setFlag(String flag) {
this.flag = flag;
} public String getRemark() {
return remark;
} public void setRemark(String remark) {
this.remark = remark;
} public Integer getGroupId() {
return groupId;
} public void setGroupId(Integer groupId) {
this.groupId = groupId;
} public Integer getCategoryId() {
return categoryId;
} public void setCategoryId(Integer categoryId) {
this.categoryId = categoryId;
} public Integer getItemId() {
return itemId;
} public void setItemId(Integer itemId) {
this.itemId = itemId;
} @Override
public String toString() {
return "BTemplateRelation [id=" + id + ", templateId=" + templateId + ", groupId=" + groupId + ", categoryId="
+ categoryId + ", itemId=" + itemId + ", flag=" + flag + ", remark=" + remark + ", buildingType="
+ buildingType + ", bBaseTemplate=" + bBaseTemplate + ", paramCategory=" + paramCategory
+ ", paramGroup=" + paramGroup + ", paramItem=" + paramItem + ", bmrqAssessRes=" + bmrqAssessRes
+ ", relaDetailList=" + relaDetailList + "]";
} }

dao層

List<PparamCategory> downTempl(Map<String, Object> map);

useGeneratedKeys用法

當useGeneratedKeys為true時,如果插入的表的id以自增列為主鍵時,將會把該自增id返回(注意是返回到該物件的屬性中)

1.sql

<insert id="addOneCustomAnalysisConfig1" parameterType="com.pdzx.entity.CustomAnalysisConfig1" useGeneratedKeys="true" keyProperty="id">
insert into c_u_custom_analysis_config_1 (
company_id,
assess_type,
building_type,
<if test="specialType != null and specialType!='' ">
special_type,
</if>
analysis_name,
analysis_type,
x_axis_unit,
y_axis_unit,
<if test="descContent != null and descContent!='' ">
desc_content,
</if>
analysis_status,
orderby,
create_time,
create_user
)
values (
#{companyId},
#{assessType},
#{buildingType},
<if test="specialType != null and specialType!='' ">
#{specialType},
</if>
#{analysisName},
#{analysisType},
#{xAxisUnit},
#{yAxisUnit},
<if test="descContent != null and descContent!='' ">
#{descContent},
</if>
#{analysisStatus},
#{orderby},
NOW(),
#{createUser}
)
</insert>

實體類

package com.pdzx.entity;

import java.util.Date;
import java.util.List; public class CustomAnalysisConfig1 { private Integer analysis1Id;
private Integer id; private Integer companyId; private String assessType; private String buildingType; private String specialType; private String analysisName; private Byte analysisType; private String xAxisUnit; private String yAxisUnit; private String descContent; private Byte analysisStatus; private Byte isUse; private Short orderby; private Date createTime; private String createUser; private Date modifyTime; private String modifyUser; private List<CustomAnalysisConfig2> customAnalysisConfig2List; public Byte getIsUse() {
return isUse;
} public void setIsUse(Byte isUse) {
this.isUse = isUse;
} public List<CustomAnalysisConfig2> getCustomAnalysisConfig2List() {
return customAnalysisConfig2List;
} public void setCustomAnalysisConfig2List(List<CustomAnalysisConfig2> customAnalysisConfig2List) {
this.customAnalysisConfig2List = customAnalysisConfig2List;
} public Integer getAnalysis1Id() {
return analysis1Id;
} public void setAnalysis1Id(Integer analysis1Id) {
this.analysis1Id = analysis1Id;
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public Integer getCompanyId() {
return companyId;
} public void setCompanyId(Integer companyId) {
this.companyId = companyId;
} public String getAssessType() {
return assessType;
} public void setAssessType(String assessType) {
this.assessType = assessType;
} public String getBuildingType() {
return buildingType;
} public void setBuildingType(String buildingType) {
this.buildingType = buildingType;
} public String getSpecialType() {
return specialType;
} public void setSpecialType(String specialType) {
this.specialType = specialType;
} public String getAnalysisName() {
return analysisName;
} public void setAnalysisName(String analysisName) {
this.analysisName = analysisName;
} public Byte getAnalysisType() {
return analysisType;
} public void setAnalysisType(Byte analysisType) {
this.analysisType = analysisType;
} public String getxAxisUnit() {
return xAxisUnit;
} public void setxAxisUnit(String xAxisUnit) {
this.xAxisUnit = xAxisUnit;
} public String getyAxisUnit() {
return yAxisUnit;
} public void setyAxisUnit(String yAxisUnit) {
this.yAxisUnit = yAxisUnit;
} public String getDescContent() {
return descContent;
} public void setDescContent(String descContent) {
this.descContent = descContent;
} public Byte getAnalysisStatus() {
return analysisStatus;
} public void setAnalysisStatus(Byte analysisStatus) {
this.analysisStatus = analysisStatus;
} public Short getOrderby() {
return orderby;
} public void setOrderby(Short orderby) {
this.orderby = orderby;
} public Date getCreateTime() {
return createTime;
} public void setCreateTime(Date createTime) {
this.createTime = createTime;
} public String getCreateUser() {
return createUser;
} public void setCreateUser(String createUser) {
this.createUser = createUser;
} public Date getModifyTime() {
return modifyTime;
} public void setModifyTime(Date modifyTime) {
this.modifyTime = modifyTime;
} public String getModifyUser() {
return modifyUser;
} public void setModifyUser(String modifyUser) {
this.modifyUser = modifyUser;
} @Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", companyId=").append(companyId);
sb.append(", assessType=").append(assessType);
sb.append(", buildingType=").append(buildingType);
sb.append(", specialType=").append(specialType);
sb.append(", analysisName=").append(analysisName);
sb.append(", analysisType=").append(analysisType);
sb.append(", xAxisUnit=").append(xAxisUnit);
sb.append(", yAxisUnit=").append(yAxisUnit);
sb.append(", descContent=").append(descContent);
sb.append(", analysisStatus=").append(analysisStatus);
sb.append(", orderby=").append(orderby);
sb.append(", createTime=").append(createTime);
sb.append(", createUser=").append(createUser);
sb.append(", modifyTime=").append(modifyTime);
sb.append(", modifyUser=").append(modifyUser);
sb.append("]");
return sb.toString();
}
}

dao層

Integer addOneCustomAnalysisConfig1(CustomAnalysisConfig1 customAnalysisConfig1);

用法

 //新增一條定製分析
@Transactional
public Integer addOneCustomAnalysisConfig(CustomAnalysisConfig1 customAnalysisConfig1) {
//CustomAnalysisConfig1 customAnalysisConfig1 = customAnalysisConfig.getCustomAnalysisConfig1();
//配置1表插入資料後的返回該條資料主鍵
Integer count1 = customAnalysisConfig1Service.addOneCustomAnalysisConfig1(customAnalysisConfig1);
//獲取自增主鍵
Integer analysis1Id = customAnalysisConfig1.getId();
List<CustomAnalysisConfig2> customAnalysisConfig2List = customAnalysisConfig1.getCustomAnalysisConfig2List();
for (CustomAnalysisConfig2 customAnalysisConfig2:customAnalysisConfig2List){
//配置1表插入資料後的返回主鍵作為關聯id存入配置2表的analysis1_id欄位
customAnalysisConfig2.setAnalysis1Id(analysis1Id);
//配置2表插入資料後的返回該條資料主鍵
Integer count2 = customAnalysisConfig2Service.addOneCustomAnalysisConfig2(customAnalysisConfig2);
Integer analysis2Id=customAnalysisConfig2.getId();
List<CustomAnalysisConfig3> customAnalysisConfig3List = customAnalysisConfig2.getCustomAnalysisConfig3List();
for (CustomAnalysisConfig3 customAnalysisConfig3:customAnalysisConfig3List){
//配置2表插入資料後的返回主鍵作為關聯id存入配置3表的analysis2_id欄位
customAnalysisConfig3.setAnalysis2Id(analysis2Id);
Integer analysis3Id = customAnalysisConfig3Service.addOneCustomAnalysisConfig3(customAnalysisConfig3);
}
}
return analysis1Id;
}