收集与协会在Mybatis中有什么区别

  介绍

这篇文章将为大家详细讲解有关收集与协会在Mybatis中有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1。关联审议

2。集合收集

比如同时有User.java和Card.java两个类

用户。java如下:

public  class 用户{      private  Card  card_one;      private  List< Card>, card_many;      }

在映射card_one属性时用协会标签,映射card_many时用集合标签。

所以协会是用于一对一和多对一,而集合是用于一对多的关系

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

协会——一对一

人和身份证的关系

下面是pojo

public  class  Card  implements 可序列化的{   ,private  Integer  id;   ,private  String 代码;//省略设置和获取方法。   } public  class  Person  implements 可序列化的{   ,private  Integer  id;   ,private  String 名称;   ,private  String 性别;   ,private  Integer 年龄;   ,//人和身份证是一对一的关系   ,private  Card 信用卡;//省略设置/获取方法。   }

下面是mapper和实现的接口

package  com.glj.mapper;      import  com.glj.poji.Card;      public  interface  CardMapper  {   ,Card  selectCardById (Integer  id);   } & lt; ? xml  version=?.0“,编码=癠TF-8" ?比;   & lt; ! DOCTYPE 映射器   PUBLIC 才能;“-//mybatis.org//DTD  Mapper  3.0//EN"   ,,,“http://mybatis.org/dtd/mybatis-3-mapper.dtd"的在=& lt; mapper 名称空间“com.glj.mapper.CardMapper"祝辞   ,& lt; select  id=皊electCardById", parameterType=癷nt", resultType=癱om.glj.poji.Card"比;   ,select  *,得到tb_card  where  id =, # {id},   ,& lt;/select>   & lt;/mapper> package  com.glj.mapper;   ,   import  com.glj.poji.Person;   ,   public  interface  PersonMapper  {   ,Person  selectPersonById (Integer  id);   } & lt; ? xml  version=?.0“,编码=癠TF-8" ?比;   & lt; ! DOCTYPE 映射器   PUBLIC 才能;“-//mybatis.org//DTD  Mapper  3.0//EN"   ,,,“http://mybatis.org/dtd/mybatis-3-mapper.dtd"的在=& lt; mapper 名称空间“com.glj.mapper.PersonMapper"祝辞   ,& lt; resultMap 类型=癱om.glj.poji.Person", id=皃ersonMapper"比;   ,& lt; id 财产=癷d",列=癷d"/比;   ,& lt; result 财产=皀ame",列=皀ame"/比;   ,& lt; result 财产=皊ex",列=皊ex"/比;   ,& lt; result 财产=癮ge",列=癮ge"/比;   ,& lt; association 财产=癱ard",列=癱ard_id",   选择=才能“com.glj.mapper.CardMapper.selectCardById"   将javaType才能=癱om.glj.poji.Card"祝辞   ,& lt;/association>   ,& lt;/resultMap>   ,& lt; select  id=皊electPersonById", parameterType=癷nt", resultMap=皃ersonMapper"比;   ,select  *,得到tb_person  where  id =, # {id}   ,& lt;/select>   & lt;/mapper>

PersonMapper。xml还使用协会的分步查询。

同理多对一,也是一样

只要那个pojo出现私人卡card_one;

即使用协会

收集一对多和协会的多对一关系

学生和班级的一对多的例子pojo类

package  com.glj.pojo;   ,   import  java.io.Serializable;   import 并不知道;   ,   public  class  Clazz  implements 可序列化的{   ,private  Integer  id;   ,private  String 代码;   ,private  String 名称;   ,,,//班级与学生是一对多的关系   ,private  List学生;//省略设置/获取方法   } package  com.glj.pojo;      import  java.io.Serializable;      public  class  Student  implements  Serializable  {   ,private  Integer  id;   ,private  String 名称;   ,private  String 性别;   ,private  Integer 年龄;   ,,,//学生与班级是多对一的关系   ,private  Clazz  clazz;//省略设置/获取方法   } & lt; ? xml  version=?.0“,编码=癠TF-8" ?比;   & lt; ! DOCTYPE 映射器   PUBLIC 才能;“-//mybatis.org//DTD  Mapper  3.0//EN"   ,,,“http://mybatis.org/dtd/mybatis-3-mapper.dtd"的在=& lt; mapper 名称空间“com.glj.mapper.ClazzMapper"祝辞   ,& lt; select  id=皊electClazzById", parameterType=癷nt", resultMap=癱lazzResultMap"比;   ,select  *,得到tb_clazz  where  id =, # {id}   ,& lt;/select>   ,& lt; resultMap 类型=癱om.glj.pojo.Clazz", id=癱lazzResultMap"比;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

收集与协会在Mybatis中有什么区别