实体类:

      Employee.java类:

 

package com.hand.mybatis.bean;

public class Employee {
    
    private Integer eId;
    private String eName;
    private Integer gender;
    private String email;
    private Department dept;
   
    public Employee() {
        super();
    }
   
    public Employee(Integer eId,String eName, Integer gender, String email) {
        super();
        this.eId=eId;
        this.eName = eName;
        this.gender = gender;
        this.email = email;
    }

    public Integer geteId() {
        return eId;
    }
    public void seteId(Integer eId) {
        this.eId = eId;
    }
   
    public String getEName() {
        return eName;
    }
    public void setEname(String ename) {
        this.eName = ename;
    }
    public Integer getGender() {
        return gender;
    }
    public void setGender(Integer gender) {
        this.gender = gender;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
   
    public Department getDept() {
        return dept;

    }

    public void setDept(Department dept) {
        this.dept = dept;
    }
    @Override
    public String toString() {
        return "Employee [eId=" + eId + ", ename=" + eName + ", gender=" + gender + ", email=" + email + "]";

    }

 

 

 Department实体类:

 

package com.hand.mybatis.bean;
import java.util.List;
public class Department {
    private Integer id;
    private String departName;
    private List<Employee> empList;
    
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getDepartName() {
        return departName;
    }
    public void setDepartName(String departName) {
        this.departName = departName;
    }
    
    public List<Employee> getEmpList() {
        return empList;
    }
    public void setEmpList(List<Employee> empList) {
        this.empList = empList;
    }
    @Override
    public String toString() {
        return "Department [;
    }
}

 

EmployeeMapperPlus.xml 映射文件

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hand.mybatis.dao.EmployeeMapperPlus">

<!-- 自定义某个javaBean的封装规则
      type:自定义规则的java类型
      id:唯一id方便引用 -->
<resultMap type="com.hand.mybatis.bean.Employee" > 1.简单的 javaBean映射

 

  <!-- Employee selectEmployee(Integer eid); -->mapper接口一

 <select >/association>         
   </resultMap>
   

 2.

(1)关联查询 级联属性封装结果集
(2)使用association定义单个对象的封装规则

 

 

<!-- Employee getEmpAndDept(Integer eid);   -->mapper接口二
  <select >将ename这一列的值赋值给emai

             <id column="eid" property="eId"/>
             <result column="ename" property="eName"/>
             <result column="gender" property="gender"/>
             <result column="eName" property="email"/>
        </case>
    </discriminator>
   </resultMap>
   
   <!--Employee getEmpByIdDis(Integer eid); -->接口四
   <select >
      select * from emp where eid=#{eid}
   </select>
   

 

接口四结果:

(1) Employee emp= mapper.getEmpByIdDis(101);

       若员工101的gender=0(女生),

       则结果为:有部门信息

 

Employee [eId=101, ename=张三, gender=0, email=2714763867@qq.com]
Department [id=1, departName=销售部]

 

(2)Employee emp= mapper.getEmpByIdDis(103);

 

       若员工103的gender=1(男生),

       则结果为:无部门信息,并且email的为ename的值杨张

 

Employee [eId=103, ename=杨张, gender=1, email=杨张]
null

 

 

 

</mapper>

 代码:https://github.com/shuaishuaihand/mybatis.git

 

 

   

相关文章: