mybatis中多表查询:一对一

思想:设每个员工对应一个部门,而我将员工查询出来要带出相应的部门信息

我的emp表:

mybatis中多表查询:一对一_第1张图片

我的dept表:

mybatis中多表查询:一对一_第2张图片
设我有一个部门表的实体类:
Dept.java

public class Dept {
	private int deptNo;
	private String dname;
	private List emp;
	
	public int getDeptNo() {
		return deptNo;
	}
	public void setDeptNo(int deptNo) {
		this.deptNo = deptNo;
	}
	public String getDname() {
		return dname;
	}
	public void setDname(String dname) {
		this.dname = dname;
	}
	public List getEmp() {
		return emp;
	}
	public void setEmp(List emp) {
		this.emp = emp;
	}
	@Override
	public String toString() {
		return "Dept [deptNo=" + deptNo + ", dname=" + dname + ", emp=" + emp + "]";
	}
	
}

员工的实体类:
Emp.java

public class Emp {
	private int empno;
	private String ename;
	private String myJob;
	private Dept dept;
	
	public Dept getDept() {
		return dept;
	}
	public void setDept(Dept dept) {
		this.dept = dept;
	}
	public String getMyJob() {
		return myJob;
	}
	public void setMyJob(String myJob) {
		this.myJob = myJob;
	}
	public int getEmpno() {
		return empno;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public String getEname() {
		return ename;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	@Override
	public String toString() {
		return "Emp [empno=" + empno + ", ename=" + ename + ", myJob=" + myJob + ", dept=" + dept + "]";
	}	
}

mybatis的confing.xml文件:





	
	
	
		
	
	
	
		
	
	
	
	
	
		
			
			
				
				
				
				
			
		
	
	
	
		
	

我的emp表的映射xml文件:
empMapper.xml







	
	
		
		
		
		
	


	
	

测试:

public class TestMybatis {
	// 获取SqlSession对象
	public static SqlSession getSession() {
		String resource = "config.xml";
		InputStream resourceAsStream = TestMybatis.class.getResourceAsStream(resource);
		// session工厂 负责产生会话
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
		// 会话就是打开了和数据库的链接
		SqlSession openSession = sqlSessionFactory.openSession();
		return openSession;
	}
	
	
	@Test
	public void test3() {
//		一对一  查询员工带出部门
		SqlSession session = getSession();
		EmpMapper mapper = session.getMapper(EmpMapper.class);
		Emp queryEmp1 = mapper.queryEmp2(1);
		System.out.println(queryEmp1);
	}
}

你可能感兴趣的:(mybatis,mysql,mysql,多表查询)