一个班级对应一个老师
class表
CREATE TABLE `class` (
`CLASS_ID` int(11) NOT NULL AUTO_INCREMENT,
`CLASS_NAME` varchar(255) DEFAULT NULL,
`CLASS_YEAR` varchar(255) DEFAULT NULL,
`TEACHER_ID` int(255) DEFAULT NULL,
PRIMARY KEY (`CLASS_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
teacher
CREATE TABLE `teacher` (
`TEACHER_ID` int(11) NOT NULL AUTO_INCREMENT,
`TEACHER_NAME` varchar(255) DEFAULT NULL,
`TEACHER_SEX` varchar(255) DEFAULT NULL,
PRIMARY KEY (`TEACHER_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
classEntity实体类,略get和set方法
private int classid;
private String className;
private String classYear;
private Teacher teacher;
Teacher略get和set方法
private int teacherId;
private String teacherName;
private String teacherSex;
classDao.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.guahao.dao.ClassDao">
<resultMap type="com.guahao.entity.ClassEntity" id="classResultMap">
<id property="classid" column="CLASS_ID" />
<result property="className" column="CLASS_NAME" />
<result property="classYear" column="CLASS_YEAR" />
<association property="teacher" column="TEACHER_ID" select="com.guahao.dao.TeacherDao.getTeacher" />
</resultMap>
<select id="getClass" parameterType="java.lang.Integer" resultMap="classResultMap">
SELECT
*
FROM CLASS CT
WHERE CT.CLASS_ID = #{id};
</select>
</mapper>
teacherDao.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.guahao.dao.TeacherDao">
<resultMap type="com.guahao.entity.Teacher" id="teacherResultMap">
<id property="teacherId" column="TEACHER_ID" />
<result property="teacherName" column="TEACHER_NAME" />
<result property="teacherSex" column="TEACHER_SEX" />
</resultMap>
<select id="getTeacher" parameterType="java.lang.Integer" resultMap="teacherResultMap">
SELECT *
FROM TEACHER TT
WHERE TT.TEACHER_ID = #{id}
</select>
</mapper>
最后测试
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml","classpath:spring-servlet.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class Tt {
@Resource
private ClassDao classDao;
@Resource
private TeacherDao teacherDao;
@Test
public void getClassName(){
ClassEntity classs = classDao.getClass(1);
System.out.println(classs);
}
}
打印出
ClassEntity [classid=1, className=一班, classYear=三年级, teacher=Teacher [teacherId=1, teacherName=打发, teacherSex=男]]