MyBatis @Result註解基於一對一關聯
示例:測試一對一關聯
程式清單:com.mapper.PersonMapper.java
package com.mapper;
import org.apache.ibatis.annotations.One;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.mapping.FetchType;
import com.po.Person;
public interface PersonMapper {
@Select("select * from t_person where id=#{id}")
@Results({
@Result(id=true,column="id",property="id"),
@Result(column="name",property="name"),
@Result(column="cid",property="card",
[email protected](select="com.mapper.CardMapper.getCardById",
fetchType=FetchType.EAGER))
})
Person getPersonById(Integer id);
}
程式清單:com.mapper.CardMapper.java
package com.mapper; import org.apache.ibatis.annotations.Select; import com.po.Card; public interface CardMapper { @Select("select * from t_card where id=#{id}") Card getCardById(Integer id); }
程式清單:com.po.Person.java
package com.po; public class Person { private Integer id; private String name; private Card card; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Card getCard() { return card; } public void setCard(Card card) { this.card = card; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", card=" + card + "]"; } }
程式清單:com.po.Card.java
package com.po;
public class Card {
private Integer id;
private String code;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
@Override
public String toString() {
return "Card [id=" + id + ", code=" + code + "]";
}
}
程式清單:/mybatis/src/mybatis-config.xml
<!-- 配置Mapper的位置 -->
<mappers>
<mapper class="com.mapper.PersonMapper"/>
<mapper class="com.mapper.CardMapper"/>
</mappers>
程式清單:com.dao.PersonDao.java
@Test
public void getPersonById() throws IOException {
session=getSqlSession();
PersonMapper pm=session.getMapper(PersonMapper.class);
Person person=pm.getPersonById(1);
System.out.println(person);
}
執行PersonDao的getPersonById()方法,控制檯顯示如下:
相關推薦
MyBatis @Result註解基於一對一關聯
示例:測試一對一關聯 程式清單:com.mapper.PersonMapper.java package com.mapper; import org.apache.ibatis.annotatio
MyBatis框架基於Annotation註解的一對一關聯對映
程式碼: mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PU
MyBatis:註解簡化一對一關係
上期 註解式是真的好用! 一對一的關係:客戶擁有一張身份證,而身份證也只有一個客戶。 客戶表中有身份證的cid,可以通過這個cid匹配身份證表中的cid,拿到那個具體的身份證資訊 反之,身份證通過本身的cid匹配客戶表中的cid,以此得到客戶的資訊。  
MyBatis筆記四之一對一關聯對映
一對一關係推薦使用唯一主外來鍵關聯,即兩個表使用外來鍵關聯,由於是一對一關聯,因此還需要給外來鍵增加unique唯一約束。 下面我們以每個人只有一張身份證,一個身份證對應一個人為例。 1、在資料庫mybatis中新建兩張表,並插入一條資料,表結構如下: 表資料如下:
Hibernate註解實現一對一關聯
本文使用Husband與Wife實現Hibernate的一對一關聯。使用的資料庫為SQL server 2005。 程式碼如下: Husband.java /** * */ package co
MyBatis基於註解的一對一、一對多和多對多的關係
“今年春盡,楊花似雪,猶不見還家” 前言 之前說了MyBatis常用註解 和基於註解的簡單增刪改查操作。 現在來了解下MyBatis基於註解的一對一、一對多和多對多的關係。 示例 一對一:一個人只有一個身份證號 PersonMapper .java im
mybatis基於註解(一對一,一對多,多對多)
QQ:979111986/5730473 微信:ainusers 現就職:新浪 微博:AinUser 微信公眾號:AinUser 郵箱:[email protected] 程式設計技術交流群:540049350 github:g
在Mybatis-spring上基於註解的數據源實現方案
操作數 實例 模板 開發工程師 normal 取數 inter -c star 一、遇到的痛點 最近在學習Spring-boot過程中,涉及到操作數據庫。按照DOC引入mybatis-spring-boot-starter,然後按照套路配置application.
一對一關聯查詢註解@OneToOne的實例詳解
option files 擁有 異常 asc cti throws 找到 enc 表的關聯查詢比較復雜,應用的場景很多,本文根據自己的經驗解釋@OneToOne註解中的屬性在項目中的應用。本打算一篇博客把增刪改查寫在一起,但是在改的時候遇到了一些問題,感覺挺有意思,所以
mybatis之一對一關聯
esp pool turn resources ger select iat test junit MapperAsso.xml 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE ma
mybatis實現多表一對一,一對多,多對多關聯查詢
轉自:https://blog.csdn.net/m0_37787069/article/details/79247321 1、一對一 關鍵字:association 作用:針對pojo物件屬性的對映 property:pojo的屬性名 &
MyBatis的學習(六)——關聯對映之一對一關聯
一對一關聯中主要需要在介面實現配置檔案中使用到標籤元素association 需求: 根據班級id查詢班級資訊(帶老師的資訊) 建立一張教師表和班級表,這裡我們假設一個老師只負責教一個班,那麼老師和班級之間的關係就是一種一對一的關係 建立teacher實體類:
MyBatis學習筆記之二--關聯關係(一對一和一對多)
首先給大家推薦幾個網頁: http://blog.csdn.net/isea533/article/category/2092001 沒事看看 - MyBatis工具:www.mybatis.tk http://www.mybatis.org/mybatis-3/zh/gettin
Hibernate一對一關聯對映(註解)
hibernate一對一關聯對映有兩種方式,一種是基於外來鍵方式(常用),一種是基於主鍵方式 一、首先我們來看基於外來鍵一對一關聯對映: 1.資料表關聯對映圖 基於外來鍵的一對一關聯對映,維護端(有外來鍵方)可以維護雙方關聯,對雙
SpringBoot和Mybatis整合一(基於註解)
專案結構: pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww
mybatis之註解式開發之關聯查詢
1 package com.bjsxt.mapper; 2 3 import org.apache.ibatis.annotations.Select; 4 5 import com.bjsxt.pojo.Clazz; 6 7 public interface ClazzMapper
使用MyBatis(八)一對一關聯(巢狀查詢,巢狀結果)
1.建立2張表,建立主外來鍵關係 2.建立實體類 package com.yw.test06; public class Class { private int id; private
hibernate註解實現一對一雙向外來鍵關聯
一對一雙向外來鍵關聯1、主控方的配置同一對一單向一樣不用更改2、在被控方設定關聯物件的屬性引用上加上@OneToOne主鍵3、雙向關聯,必須要有mappedBy屬性(mappedBy的意思是由對方主導關聯關係)注意:自動生成表時會在兩張表上都加入外來鍵關聯關係,可以通過沒置m
MyBatis框架的學習(五)——一對一關聯對映和一對多關聯對映
在實際開發中我們不可能只是對單表進行操作,必然要操作多表,本文就來講解多表操作中的一對一關聯對映和一對多(或多對一)關聯對映,至於多對多關聯對映實質上也是兩個一對多(或多對一)關聯對映,所以在這裡我並不打算講解。先從一對一關聯對映講起。本文案例程式碼的編寫是建立
MyBatis初級實戰之五:一對一關聯查詢
### 歡迎訪問我的GitHub [https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) 內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等; ### 本