一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis實現一對一關聯映射實例代碼

mybatis實現一對一關聯映射實例代碼

2021-02-24 14:06炭燒小雞 Java教程

這篇文章主要給大家介紹了關于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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: a级片欧美 | 日本老师xxxxx18 | 亚洲网红精品大秀在线观看 | 免费看视频网站 | 猛男壮男受bl爽哭了高h | 99精品视频一区在线观看miya | 成人永久免费视频 | 扒开斗罗美女了的胸罩和内裤漫画 | 天天性综合| 亚拍一区| 成人毛片高清视频观看 | 亚洲国产成人久久午夜 | 男人在女人下面狂躁 | 国产精品天天看特色大片不卡 | 给我免费的视频在线观看 | 多人群p全肉小说 | 欧美精品99久久久久久人 | 免费一级国产大片 | 亚洲邪恶天堂影院在线观看 | 99久久伊人一区二区yy5099 | 男人边吃奶边做好爽视频免费 | 91亚洲视频在线观看 | 日韩在线免费看 | 国产成人夜色影视视频 | 日日夜夜撸影院 | 午夜伦理:伦理片 | 网址在线观看你懂我意思吧免费的 | 99精品视频在线观看免费播放 | 国产在线视频一区二区三区 | 网址在线观看你懂我意思吧免费的 | 四缺一写的小说 | 双夫1v2| 5555国产在线观看精品 | 色综合天天综合中文网 | 小泽玛丽av无码观看 | 秋霞理论在一l级毛片 | 国产亚洲精品高清在线 | 美女的让男人桶爽免费看 | 女主被当众调教虐np | 小舞丝袜调教喷水沦为肉奴 | 亚洲人成伊人成综合网久久 |