今天老师的声音一如既往的好听⊙▽⊙一如既往的我~一如既往的6个小时的学习
今天布置的作业是:
- 构建数据表: 部门表(deptno,dname,loc)
员工表(empno,ename,job,hiredate,salary,deptno), - 查询部门下的员工姓名\工种\薪水
实验结果应如图所示:
实验要点:
- 清楚各数据表的关联,是一对一,一对多(多对一)抑或是多对多
- 在mapper.xml中构建一对多关联,department方为一;employee方为多
- mapper中,多的那边用collection,ofType;一的那边用association,JavaType
- 若< select/>中,返回的结果集为复杂的结果集,即不能用resultType。此时应将resultType更改为resultMap,并在mapper内配置resultMap。
- resultMap内的id对应select中resultMap中的值,才能被找到
- resultMap内的type为全限定类名,或类型别名
- resultMap内层的id为主键列,result为非主键列
<collection property="Java属性名" ofType="另一Java类名" javaType="ArrayList" column="关联主键ID(用于嵌套查询SQL语句传入参数,多个用逗号分开)" select="另一个select映射SQL的ID"/>
<select parameterType="int" resultType="另一Java类名" id="另一个select映射SQL的ID">
SQL语句
</select>
<collection property="Java属性名" ofType="另一Java类名" javaType="ArrayList" resultMap="另一个resultMap的ID"/>
<resultMap id="另一个resultMap的ID" type="另一Java类名">
<id property="id" column="关联主键ID"/>
....
</resultMap>
附上源码:链接:https://pan.baidu.com/s/1WmyQWV_Id2gfe49A4MqMXw 密码:6gkd