实体类关联

1.使用<resultMap>&<collection>实现一对多(以一个老师对应多名学生为例)

<?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="mapper.Teacher">

    <resultMap id="teacherAndStudent" type="entity.Teacher">
        <id property="id" column="t_id"/>
        <result property="name" column="t_name"/>
		
		<!--集合:collection-->
		<!--当使用collection时,集合中的泛型类型需要使用ofType来获取-->
	   <collection property="studentS" ofType="entity.Student">
		   <id property="id" column="s_id"/>
		   <result property="name" column="s_name"/>
	   </collection>
  </resultMap>
</mapper>

 2.使用<resultMap>&<association>实现多对一(多个学生对应一个老师)

<?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="mapper.Student">

    <resultMap id="studentAndTeacher" type="entity.Student">
        <id property="id" column="s_id"/>
        <result property="name" column="s_name"/>

		<!--对象:association-->
		<!--当使用association时,需要使用javaType指定对象属性的类型-->
	   <association property="teacher" javaType="entity.Teacher">
			<id property="id" column="t_id"/>
		   <result property="name" column="t_name"/>
	   </association>
  </resultMap>
</mapper>

 

拓展:

1.lombok依赖中的@Data注解可以为实体Bean生成相应的set/get/toString/equals/hashCode方法。

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<scope>版本</scope>
</dependency>

2.Mybatis的resultMap标签简介:

<resultMap id="标签的名字,可随意" type="主表对应的实体类名称">
	<id property="实体类中主键名称" column="数据库表主键名称"/>
	<result property="实体类属性" column="数据库表列名"/>
</resultMap>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值