一个班级对应一个老师
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 CTWHERE 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 TTWHERE TT.TEACHER_ID = #{id}</select>
</mapper>
最后测试
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml","classpath:spring-servlet.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class Tt {@Resourceprivate ClassDao classDao;@Resourceprivate TeacherDao teacherDao;@Testpublic void getClassName(){ClassEntity classs = classDao.getClass(1);System.out.println(classs);}}
打印出
ClassEntity [classid=1, className=一班, classYear=三年级, teacher=Teacher [teacherId=1, teacherName=打发, teacherSex=男]]