MyBatis框架使用多對一聯合查詢方式查詢

Client.java

package client;

import java.io.*;
import java.util.List;
import org.apache.ibatis.io.*;
import org.apache.ibatis.session.*;
import domain.Employee2;

public class Client {
	public static void main(String args[]) throws IOException {
		InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
		SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
		SqlSession sqlSession = factory.openSession();		
		List<Employee2> list = sqlSession.selectList("findAllEmployees");
		System.out.println("查詢所有員工信息(多對一聯合查詢方式):");
		for(Employee2 emp:list)
			System.out.println("Employee's id: "+emp.getEmpId()+" Employee's name: "+emp.getName()+" Employee's detpId: "+emp.getDeptId()+" Employee's deptName: "+emp.getDepts().getDeptName());
		sqlSession.close();
	}
}

UserMapper.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="/">
	<resultMap type="domain.Employee2" id="emp">
		<id property="empId" column="empId" />
		<result property="name" column="name" />
		<result property="deptId" column="deptId" />
		<association property="depts"
			javaType="domain.Department2">
			<id property="id" column="id" />
			<result property="deptName" column="deptName" />
		</association>
	</resultMap>
	<select id="findAllEmployees" resultMap="emp">
		select * from
		employee2,department2
		where employee2.deptId=department2.id
	</select>
</mapper>

employee2表
在這裏插入圖片描述
department2表
在這裏插入圖片描述
查詢結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章