员工xml中配置问题

员工xml中配置问题

 对这段标签配置有点理解不知道对不对,下面加粗部分,请老师指点

<resultMap id="employee" type="Employee">

  1、property="sn"对应的是实体类employee中的属性,因此名称必须与实体类保持一致,column="sn"对应的是数据库中的字段,所以名称必须与数据库保持一致

 <id property="sn" column="sn" javaType="String"/>

        <result property="password" column="password" javaType="String"/>

        <result property="name" column="name" javaType="String"/>

        <result property="departmentSn" column="department_sn" 


javaType="String"/>

        <result property="post" column="post" javaType="String"/>

      2、column="department_sn"代表两表关联的外键,名称也必须要与数据库中employee中的字段名保持一致

  <association property="department" column="department_sn" javaType="Department" >

3、property="sn"代表实体类department中的sn,column="dsn"代表查询结果集中的别名与下面的SQL语句中所取的别名保持一致

select e.*,d.sn dsn,d.name dname from employee e left join department d on d.sn=e.department_sn
where e.sn=#{sn}


            <id property="sn" column="dsn" javaType="String"/>

            <result property="name" column="dname" javaType="String"/>

        </association>

    </resultMap>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小脸 2021-04-17 19:00:13

 同学你好,

​1、是的,理解是正确的

2、是的

3、理解是正确的

扩:resultMap的作用是将多张表联合查询的结果集中的字段,自动对应到对应的实体(包括主实体和其中嵌套的关联实体)中:

<!--column对应的是结果集的列名,不是原表的。property是对应实体的属性名。-->
<resultMap id="唯一的标识" type="映射的对象类型">
  <id column="主表的主键列名" jdbcType="字段类型" property="映射对象的主键属性" />
  <result column="主表的对应属性列名" jdbcType="字段类型" property="映射对象的属性"/>
  <association property="主对象中存储关联对象的属性名" javaType="关联的实体对象类型">
    <id column="关联表的主键对应的结果集中的列名" jdbcType="字段类型" property="关联对象的主键属性"/>
    <result  column="关联表的属性对应的结果集中的列名" jdbcType="字段类型" property="关联对象的属性"/>
  </association>
</resultMap>

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师