场景:通过员工查部门
<select id="selectBySn2" resultType="Employee">
<!-- 相当于是这个作用:<result column="name" property="name"/> -->
SELECT dep.name 'department.name'
FROM t_employee emp
LEFT JOIN t_department dep ON dep.sn = emp.dept_sn
WHERE emp.sn=#{sn}
</select>
如上所示,在解析到’department.name’的时候,以.符号分隔之后发现,department别名对应的是Department对象,则会先初始化RoleDepartment,并将查到的值(即dep.name)赋予name属性。
public class EmployeeMapperTest extends BaseTest {
@Autowired
private EmployeeMapper employeeMapper;
@Test
public void test() throws Exception {
System.out.println(employeeMapper.selectBySn2(1L).getDepartment().getName());
}
}