您现在的位置是:首页 > java技术交流java技术交流
spriingboot之mybatis 多对多关联查询
上善若水2020-12-15 16:58:49【java技术交流】 2877人已围观
简介上一篇演示i了一对多关联,在此基础上稍作修改就能完成多对多关联操作,入门知识点之使用注解完成多对多的配置. 表结构我们有三张表用户表用户组表用户与用户组中间表 用户表与中间表一对多关系用户组
上一篇演示i了一对多关联,在此基础上稍作修改就能完成多对多关联操作,入门知识点之使用注解完成多对多的配置.
表结构
我们有三张表 用户表
用户组表
用户与用户组中间表
用户表
与中间表
一对多关系用户组表
与中间表
一对多关系用户表
与用户组表
形成多对多关联本篇演示
用户表
与用户组表表
多对多关系查询1.写个自定义sql根据通过中间表关联出用户组.
@Select({"select `group`.* from user_group left join `group` on user_group.group_id=`group`.id where user_group.user_id=#{userId}"}) List<Group> selectGroups(@Param("userId") int userId);
2.写出查询用户表数据 配置查询中间表数据.
UserVO复制user实体属性加入属性添加..private List<Group> groupList;
编写代码测试结果.@Results({ @Result(property = "userGroupList", javaType=List.class, many =@Many(select="selectUserGroupByUserId"), column = "id"), @Result(property = "groupList", javaType=List.class, many =@Many(select="selectGroups"), column = "id") }) @Select({"select * from user where id=#{userId}"}) User selectUsersGroup(@Param("userId") int userId);
@Test void test2() { User users = userMapper.selectUsersGroup(1); System.out.printf(users.toString()); }
userGroupList已经能查询到结果了.
用户表数据,中间表数据
轻松实现,其他情况请举一反三!
Tags: mybatis mybatis关联查询
很赞哦! (1)
随机图文
-
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
笑话6则:其实哄女孩子开心很简单
1、进药店想买TT,店里人太多不好意思,就对营业员说:“我买那个...”营业员说:“你买什么?”我支唔着:“就是那个...”营业员问:“那个什么?”我生气道:“TT啊,你怎么连这暗示都不懂?”营业员连声道歉:“对不起对不起,我没想到你有女朋友。”2、有人问我:“你诚实说,一年你能挣多少钱?”我说:“四五十万吧。”他听后说:“你诚实了吗?”我说:“嗯,我乘1 -
spriingboot之mybatis 多对多关联查询
一对一关联,出现关联数据column所对应的值边为null,尽管关联的数据表有这个id值,中间表关联主表是一对一. 1.写个自定义sql根据通过中间表与用户表示是一对一的关联关系.2.写出查询用户表数 -
git在centos上拉取项目需要重复输入密码 git保存账号信息
最近在码云上新建了自己的个人项目,但是每次在centos上拉取项目需要重复输入密码,十分耽误效率,git自动保存账号信息.输入 git config --global credential.helpe