1. 程式人生 > >MyBatis @Result註解基於一對一關聯

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等; ### 本