员工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、是的,理解是正确的
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>
祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星