真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

collection與association在Mybatis中有什么區(qū)別

這篇文章將為大家詳細講解有關(guān)collection與association在Mybatis中有什么區(qū)別,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元北海街道做網(wǎng)站,已為上家服務(wù),為北海街道各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

1. 關(guān)聯(lián)-association

2. 集合-collection

比如同時有User.java和Card.java兩個類

User.java如下:

public class User{

private Card card_one;

private List card_many;

}

在映射card_one屬性時用association標簽, 映射card_many時用collection標簽.

所以association是用于一對一和多對一,而collection是用于一對多的關(guān)系

下面就用一些例子解釋下吧

association-一對一

人和身份證的關(guān)系

下面是pojo

public class Card implements Serializable{
 private Integer id;
 private String code;
//省略set和get方法.
}
public class Person implements Serializable{
 private Integer id;
 private String name;
 private String sex;
 private Integer age;
 //人和身份證是一對一的關(guān)系
 private Card card;
//省略set/get方法.
}

下面是mapper和實現(xiàn)的接口

package com.glj.mapper;

import com.glj.poji.Card;

public interface CardMapper {
 Card selectCardById(Integer id);
}



 
 select * from tb_card where id = #{id} 
 
package com.glj.mapper;
 
import com.glj.poji.Person;
 
public interface PersonMapper {
 Person selectPersonById(Integer id);
}



 
 
 
 
 
 
 
 
 
 select * from tb_person where id = #{id}
 

PersonMapper.xml 還使用association的分步查詢。

同理多對一,也是一樣

只要那個pojo出現(xiàn)private Card card_one;

即使用association

collection 一對多和association的多對一關(guān)系

學(xué)生和班級的一對多的例子

pojo類

package com.glj.pojo;
 
import java.io.Serializable;
import java.util.List;
 
public class Clazz implements Serializable{
 private Integer id;
 private String code;
 private String name;
    //班級與學(xué)生是一對多的關(guān)系
 private List students;
//省略set/get方法
}
package com.glj.pojo;

import java.io.Serializable;

public class Student implements Serializable {
 private Integer id;
 private String name;
 private String sex;
 private Integer age;
    //學(xué)生與班級是多對一的關(guān)系
 private Clazz clazz;
//省略set/get方法
}



 
 select * from tb_clazz where id = #{id}
 
 
 
 
 
 
 
  
  
  
  
 
 
package com.glj.mapper;

import com.glj.pojo.Clazz;

public interface ClazzMapper {
 Clazz selectClazzById(Integer id);
}

ClazzMapper使用到了集合-collection 即為一對多,一個班級面對多個學(xué)生




 
 select * from tb_clazz c,tb_student s where c.id = s.id and s.id = #{id}
 
 
 select * from tb_student where clazz_id = #{id}
 
 
 
 
 
 
 
  
  
  
 
 
package com.glj.mapper;

import com.glj.pojo.Student;

public interface StudentMapper {
 Student selectStudentById(Integer id); 
}

StudentMapper則是與班級為多對一關(guān)系,所以使用了關(guān)聯(lián)-association

嗯,希望我以后又不記得二者的關(guān)系時,能感謝現(xiàn)在總結(jié)的自己

附上一張mybatis的類型別名圖

collection與association在Mybatis中有什么區(qū)別

關(guān)于collection與association在Mybatis中有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


新聞標題:collection與association在Mybatis中有什么區(qū)別
分享鏈接:http://weahome.cn/article/jcchgp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部