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表
查詢結果: