介绍
这篇文章将为大家详细讲解有关收集与协会在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中有什么区别