<resultMap type="com.tsy.springmvc.model.system.Employee" id="ClassResultMap">
<id property="employeetID" column="employeetID"/>
<result property="employeetName" column="employeetName"/>
<result property="depatmentID" column="depatmentID"/>
<association property="department" javaType="com.tsy.springmvc.model.system.Department">
<id property="departmentID" column="departmentID"/>
<result property="departmentName" column="departmentName"/>
</association>
</resultMap>
<!-- 简单的两个表查询 -->
<select id="selectDepartmetAndEmployee" resultMap="ClassResultMap">
select *
from employee, department
where employee.departmentID = department.departmentID
</select>
Controller
@RequestMapping("/")
public ModelAndView index(ModelAndView modelAndView) {
modelAndView.setViewName("index");
modelAndView.addObject("employeeAndDepartment", employeeService.selectDepartmetAndEmployee());
return modelAndView;
}
Service
public interface IEmployeeService extends IService {
List<Employee> selectALLEmployee(Employee);
//这里我就不知道如何去写
}
①我不知道如何才能获取到多表查询的结果,resultMap映射了,但是不知道怎么使用。
②是一个简单的部门和员工, 我想在页面显示所有员工(员工的部门)。
③我是不是应该建立两个mybatis 查询,都是单表查询,然后通过先查询员工,得到员工的所有属性(包括部门ID)
然后在Controller中通过循环查询部门ID,得到一个与员工对应的部门表,然后再通过Model 1 Model 2 传输对应的两个List到页面?
针对@独家de记忆,补充
@TableId(value = "employeeID", type=IdType.AUTO)
private Long employeeID; //员工ID
private String employeeName;//员工姓名
private Long departmentID; //部门ID
-------------------------------------------------------------------更改之后
@TableId(value = "employeeID", type=IdType.AUTO)
private Long employeeID; //员工ID
private String employeeName;//员工姓名
private Long departmentID; //部门ID
@TableField(exist = flase)
private Long departmentID; //部门名称
---------------------------------------------------------------------
这样我就可以实现我的问题
但是这样会不会其实很累赘?