gpt4 book ai didi

mybatis实现一对一关联映射实例代码

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章mybatis实现一对一关联映射实例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言 。

在客观世界中,对象很少是孤独存在的,如班级与学生之间的关系,学生与课程之间的关系,它们的实例之间可以互相访问,这就是关联关系。mybatis 的关联映射可以大大简化持久层数据的访问,关联关系的分类如下:

  • 一对一
  • 一对多
  • 多对多

我们首先绘制一个简化的 e-r 图来表示三种关联关系.

mybatis实现一对一关联映射实例代码

上图表示的三种关系:

  • 一对一:一个班主任只属于一个班级,一个班级也只能有一个班主任
  • 一对多:一个班级有多个学生,一个学生只属于一个班级
  • 多对多:一个学生可以选多门课,一门课可以有多个学生选

引言 。

而在实际项目开发中,经常存在一对一的关系,如一个人对应一张身份证信息,这就是一对一的关系。下面是一个简单的 。

实例:

1、建表过程我就省略了,主要是一张person表,一张idcard表,其相关属性见步骤2pojo类属性所示; 。

2、建立一个person对象和一个idcard对象:

mybatis/pri/xiaoyang/otot/pojo/idcard.java 。

?
1
2
3
4
5
6
public class idcard implements serializable {
  private int id; // 主键
  private string cardcode; // 身份证编号
  private string caraddress; // 身份证地址
  //构造函数及getter/setter/tostring...
}

mybatis/pri/xiaoyang/otot/pojo/person.java 。

?
1
2
3
4
5
6
7
public class person implements serializable {
  private int id; // 主键
  private string name; // 姓名
  private string sex; // 性别
  private idcard idcard; //身份证对象,人和身份证一对一关系
  //构造函数及getter/setter/tostring...
}

3、接下来是xml映射文件:

mybatis/pri/xiaoyang/otot/mapper/idcardmapper.xml 。

?
1
2
3
4
5
6
<mapper namespace= "pri.xiaoyang.otot.mapper.idcardmapper" >
  <!-- 根据主键查询idcard信息,封装为idcard对象并返回 -->
  <select id= "selectidcardbyid" pamaetertype= "int" resulttype= "pri.xiaoyang.otot.pojo.idcard" >
   select * from idcard where id = #{id}
  </select>
</mapper>

mybatis/pri/xiaoyang/otot/mapper/personmapper.xml 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<mapper namespace= "pri.xiaoyang.otot.mapper.personmapper" >
  <!-- 根据person主键查询person信息,封装为person对象并返回 -->
  <select id= "selectpersonbyid" pamaetertype= "int" resultmap= "personmapper" >
   select * from person where id = #{id}
  </select>
 
  <!-- 映射person对象的resultmap -->
  <resultmap type= "pri.xiaoyang.otot.pojo.person" id= "personmapper" >
   <id property= "id" column= "id" />
   <result property= "name" column= "name" />
   <result property= "sex" column= "sex" />
   <!-- 一对一关联映射:association -->
   <association property= "idcard" column= "card_id"
    select= "pri.xiaoyang.otot.mapper.idcardmapper.selectidcardbyid"
    javatype= "pri.xiaoyang.otot.pojo.idcard" />
  </resultmap >
</mapper>

注: 在personmapper.xml中定义了一个<select/>标签,该标签的sql语句是根据person表的主键字段来查询出唯一的person信息,由于该person表和idcard表关联,因此返回一个resultmap值为personmap的映射对象。personmap使用了<association/>标签映射了一对一的关联关系,其标签内的属性select表示会以column的属性值"card_id"来作为参数执行idcardmapper中定义的selectidcardbyid查询对应的idcard数据,查询出的数据会被封装到property属性值的“card”对象中.

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我的支持.

原文链接:http://www.cnblogs.com/tanshaoxiaoji/p/mybatis_oneTOone.html 。

最后此篇关于mybatis实现一对一关联映射实例代码的文章就讲到这里了,如果你想了解更多关于mybatis实现一对一关联映射实例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com