您现在的位置是:首页 > java技术交流java技术交流
spriingboot之mybatis 多对多关联查询
上善若水2020-12-15 16:58:49【java技术交流】 2290人已围观
简介上一篇演示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)
随机图文
-
linux 查看当前文件大小 当前文件夹数量
linux如何查看当前文件夹大小,文件夹文件个数,查看文件详情的命令是啥,linux命令只有用到时候才会搜。查看当前文件大小:du -sh查看当前文件数量:ls-l |grep “^-“|wc -l -
shiro ajax返回登录成功
shiro默认在我们登录成功后会重定向到用户首页,有些时候,登录是使用ajax完成,登录成功后,会返回给我们登录成功的页面,尽管在ajax中页面不跳转我们可以手动跳转,但是还是有些不爽希望能返回jso -
php把对象foreach 循环 IteratorAggregate遍历对象更简洁更简单 php进阶
我们知道把一个对象当做数组去循环操作可以直接,实现接口Iterator实现中的current()next()key()valid()rewind(),实际上php提供系统的IteratorAggreg -
除了湖北省图书馆,武汉还有这些图书馆
都说上大学是最好的自学时光,这个时候时间充足,学校里面也有图书馆,资源丰富,没课的时候整天都可以泡在图书馆内接受知识的熏陶。只是很多人毕了业才想到要多看看书,可是借书好像就没有那么方便了,毕竟大部分的