package com.beans;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Set;
public class Country implements Serializable{
private Integer cid;
private String cname;
2、class Minister
package com.beans;
import java.io.Serializable;
public class Minister implements Serializable {
private Integer mid;
private String mname;
private Country country;
3、mapper.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.dao.IMinisterDao">
<!--
<resultMap type="com.beans.Minister" id="ministerMapper">
<id column="mid" property="mid"/>
<result column="mname" property="mname"/>
<association property="country" javaType="com.beans.Country">
<id column="cid" property="cid"/>
<result column="cname" property="cname"/>
</association>
</resultMap>
<select id="selectMinisterById" resultMap="ministerMapper">
SELECT MID, MNAME, CID, CNAME FROM MINISTER, COUNTRY
WHERE COUNTRYID = CID AND MID = #{MID}
</select>
-->
<select id="selectCountry" resultType="com.beans.Country">
SELECT CID, CNAME FROM COUNTRY WHERE CID = #{CID}
</select>
<resultMap type="com.beans.Minister" id="ministerMapper">
<id column="mid" property="mid"/>
<result column="mname" property="mname"/>
<association property="country" javaType="com.beans.Country"
select="selectCountry" column="countryId"/>
</resultMap>
<select id="selectMinisterById" resultMap="ministerMapper">
SELECT MID, MNAME, COUNTRYID FROM MINISTER
WHERE MID = #{MID}
</select>
</mapper>
4、MyTest
package com.test;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Test;
import com.beans.Country;
import com.beans.Minister;
import com.dao.IMinisterDao;
import com.utils.SqlSessionUtils;
public class MyTest {
private IMinisterDao dao;
private SqlSession sqlSession;
@org.junit.Before
public void before() {
sqlSession = SqlSessionUtils.getSqlSession();
dao = sqlSession.getMapper(IMinisterDao.class);
}
@After
public void After() {
if (sqlSession != null) {
sqlSession.close();
}
}
@Test
public void test01() {
Minister minister = dao.selectMinisterById(2);
System.out.println(minister);
}
}