一对一关联
<resultMap id="comTmpl" type="com.est.pc.domain.CompanyTemplate">
<id column="company_template_id" property="companyTemplateId"></id>
<result property="companyName" column="company_name"></result>
<result property="companyType" column="company_type"></result>
<!--公司下的职位模板集合-->
<association property="companyPersonnelTemplateList" javaType="com.est.pc.domain.CompanyPersonnelTemplate" >
<id column="company_personnel_template_id" property="companyPersonnelTemplateId"></id>
<result property="companyPersonnelTemplateName" column="company_personnel_template_name"></result>
<result property="companyPersonnelTemplateIsUser" column="company_personnel_template_is_user"></result>
<result property="companyPersonnelTemplateIsceo" column="company_personnel_template_isceo"></result>
<result property="companyPersonnelTemplateIsCombinePosition" column="company_personnel_template_is_combine_position"></result>
</association>
</resultMap>
<?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.est.pc.mapper.TrainingModuleMapper" >
<!--定义的位 模块下的职位对应的map集合-->
<resultMap id="TrainingModule2" type="com.est.pc.domain.TrainingModule">
<!-- property对应实体类的属性名称,column为数据库字段名 -->
<id property="trainingModuleId" column="training_module_id"></id>
<result column="training_module_name" property="trainingModuleName"></result>
<result column="training_module_is_user" property="trainingModuleIsUser"></result>
<result column="training_module_type" property="trainingModuleType"></result>
<result column="training_module_createtime" property="trainingModuleCreatetime"></result>
<result column="training_module_modifiedtime" property="trainingModuleModifiedtime"></result>
<!--collection 用于数据表一对多映射
accounts 是对象:com.sealong.domain.User中的一个属性名
ofType 为该属性所对应的类
-->
<!--模块下的公司集合-->
<collection property="companyTemplates" ofType="com.est.pc.domain.CompanyTemplate" javaType="list" resultMap="comTmpl"/>
</resultMap>
<resultMap id="comTmpl" type="com.est.pc.domain.CompanyTemplate">
<id column="company_template_id" property="companyTemplateId"></id>
<result property="companyName" column="company_name"></result>
<result property="companyType" column="company_type"></result>
<!--公司下的职位模板集合-->
<collection property="companyPersonnelTemplateList" ofType="com.est.pc.domain.CompanyPersonnelTemplate" javaType="list" >
<id column="company_personnel_template_id" property="companyPersonnelTemplateId"></id>
<result property="companyPersonnelTemplateName" column="company_personnel_template_name"></result>
<result property="companyPersonnelTemplateIsUser" column="company_personnel_template_is_user"></result>
<result property="companyPersonnelTemplateIsceo" column="company_personnel_template_isceo"></result>
<result property="companyPersonnelTemplateIsCombinePosition" column="company_personnel_template_is_combine_position"></result>
</collection>
</resultMap>
<select id="findAllCompanyTrainingModule" resultMap="TrainingModule2">
select btm.training_module_id,
btm.training_module_name,btm.training_module_is_user,
btm.training_module_createtime,btm.training_module_modifiedtime,btm.training_module_type,
bct.company_template_id,bct.company_name,bct.company_type,
bcpt.company_personnel_template_id,bcpt.company_personnel_template_name,bcpt.company_personnel_template_is_user,bcpt.company_personnel_template_isceo
from botp_training_module btm
left join botp_company_template bct on btm.training_module_id = bct.training_module_id
left join botp_company_personnel_template bcpt on bct.company_template_id = bcpt.company_template_id
</select>