Mapper.xml文件的有关内容如下:
<select id="getComplexEmpById" resultMap="getComplexEmpById">
SELECT t.id ,t.`last_name` , t.`gender` , t.`email` ,t.`depat` , d.`id` , d.`name`
FROM tb1_employee t , department d WHERE t.id = #{id} and t.depat = d.id;
但是运行结果如下:
department的值为null
究其原因是因为Mapper.xml中resultMap对Employee中的department对象进行映射时使用了
column = “d.id” 和column = "d.name"的结构 , 应该在sql语句中为d.id 和 d.name起别名如下:
<select id="getComplexEmpById" resultMap="getComplexEmpById">
SELECT t.id ,t.`last_name` , t.`gender` , t.`email` ,t.`depat` , d.`id` did, d.`name` dName
FROM tb1_employee t , department d WHERE t.id = #{id} and t.depat = d.id;
修改后的运行结果如下: ![在这里插入图片描述](https://img-blog.csdnimg.cn/d06280f9339d4955adbd4a6657f0be0a.png)