MyBatits 一对一关系取值association用法

一个班级对应一个老师

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=男]]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值