在学习MyBatis过程中遇到如下问题:
使用ResultMap时,如果POJO中字段名与数据库中一致,就无须编写result标签使字段对应起来。
<resultMap id="EmpByNo" type="Emp">
<id property="empno" column="empno"></id>
</resultMap>
<select id="selectEmpByEmpno" resultMap="EmpByNo">
select * from emp where empno = #{empno}
</select>
测试结果:
显然,在resultMap中没有指定除empno外的属性-字段对应关系,也能顺利将查询结果映射到POJO中。这是因为POJO属性名称与数据库中是一一对应的。
此时遇到了另一个问题:
若要进行联表查询,例如通过部门编号将员工表和部门表两张表连接,并按照部门编号查询该部门所有员工及部门信息,则代码如下:
<resultMap id="empAndDept" type="Emp">
<id property="empno" column&#