您现在的位置是:首页 > java技术交流java技术交流
spriingboot之mybatis 多对多关联查询
上善若水2020-12-15 16:58:49【java技术交流】 2274人已围观
简介上一篇演示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领域更近一步的人。 -
yii框架中yiisoft/yii2-redis redis操作
yii框架中yiisoft/yii2-redis redis操作字符串学习笔记,设置值获取值设置过期时间,自增自键运算等.参考网址https://redis.io/commands/decrby - -
springboot mybatis自动完成时间插入更新
springboot mybatis自动完成时间插入更新,基本涨表里都会有create_time和update_time时间字段,可以采用自动完成机制为我们手动添加创建时间和更新时间,自己在写的时候也 -
spriingboot之mybatis 多对多关联查询
一对一关联,出现关联数据column所对应的值边为null,尽管关联的数据表有这个id值,中间表关联主表是一对一. 1.写个自定义sql根据通过中间表与用户表示是一对一的关联关系.2.写出查询用户表数