ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

mybatis的一对多,多对一,以及多对对的配置和使用

2020-06-30 19:53:28  阅读:836  来源: 互联网

标签:Mapper Group Users 配置 用户 查询 mybatis 一对 JavaBean


内容转自 https://www.cnblogs.com/jimisun/p/9414148.html  详细内容请看原帖

----------------------------------------------------------------

  根据这个应用场景,我们需要获取在查询一个用户信息的时候还要去读取这个用户发布的帖子 现在我们来看一看用户级联文章在JavaBean中的编写方式,这就是一对多在JavaBean中的配置 现在我们再来看一看Mybatis的Mapper该如何编写一对多?很简单,就是在resultMap标签中配置<collection>标签,用来存储查询到的文章列表,注意posts代表的是用户实体的文章List集合 这样Sql查询到的内容就映射到User用户实体中的属性中啦,这就是一对多的查询   3.现在我们再来探究一下Mybatis的多对一,现在有一个需求如下 现在我们来看一看文章级联用户在JavaBean中的编写方式,这是多对一在JavaBean中的配置 现在我们再来看一看Mybatis的Mapper该如何编写多对一?很简单,就是在resultMap标签中配置<association></association>标签关联所属的用户实体     4.最后我们来探究一下Mybatis的多对多,在很多时候我们较好的运用多对多可以处理很多现实的逻辑问题,比如现在我们有下面这样一个需求   当前,一个用户可以拥有多个组,一个组也可以拥有多个用户,这样的关系就是多对多,为了解决这个问题,我们需要再用户和组之间建立一张关联的表,用于存储他们之间的对应关系,用户和组都通过这个关联的表,来查询他们之间的关系   现在我我们先来看一看这个关联对象的JavaBean和其Mybatis的Mapper文件是怎么样的 首先是JavaBean

 

再来看看这个实体对应的Mapper文件,只有两个功能     现在我们开始来看我们的主角Users用户和Group组这两位的JavaBean和Mapper文件时怎么写的   先看Users(用户实体)

 

Users的Mapper 这样查询到的的User对用户象就是这样的,把这个用户所对应的组都查了出来 Users{id=0, username='yiibai', mobile='13838009988', groups=[Group{groupId=1, groupName='Group-1', users=null}, Group{groupId=2, groupName='Group-2', users=null}]}   再来看看Group(组实体),其实就是和Users实体是一样的哈 还是看Group的JavaBean   再看看看Group的Mapper 这样再查询Group的时候就会把这个组的所有成员都查询出来了 Group{groupId=0, groupName='Group-1', users=[Users{id=1, username='yiibai', mobile='13838009988', groups=null}, Users{id=2, username='User-name-1', mobile='13838009988', groups=null}]}

 

标签:Mapper,Group,Users,配置,用户,查询,mybatis,一对,JavaBean
来源: https://www.cnblogs.com/surge/p/13215635.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有