您现在的位置是:首页 > java技术交流java技术交流
spriingboot之mybatis 一对多关联查询
上善若水2020-12-15 16:50:02【java技术交流】
2827人已围观
简介在接触mybatis时,只会使用mapper提供的单表查询,关联查询需要配置xml完成,整理了使用@Results注解完成表的关联查询.参考博客:https://blog.csdn.net/zhous
在接触mybatis时,只会使用mapper提供的单表查询,关联查询需要配置xml完成,整理了使用@Results
注解完成表的关联查询.
参考博客:https://blog.csdn.net/zhoushimiao1990/article/details/99944357
表结构
我们有三张表 用户表
用户组表
用户与用户组中间表
用户表
与中间表
一对多关系用户组表
与中间表
一对多关系用户表
与用户组表
形成多对多关联本篇演示
用户表
与中间表
一对多关系查询1.写个自定义sql根据id查询出中间表数据.
@Select({"select * from user_group where user_id=#{userId}"}) List<UserGroup> selectUserGroup(@Param("userId") int userId);
运行测试
@SpringBootTest class UserMapperTest { @Resource private UserMapper userMapper; @Test void test3() { List<UserGroup> userGroups = userMapper.selectUserGroupByUserId(1); userGroups.forEach(System.out::println); } }
断点调试可以成功查询出结果
2.写出查询用户表数据 配置查询中间表数据.
UserVO加入属性..
private List<UserGroup> userGroupList;
@Results({ @Result(property = "userGroupList", javaType=List.class, many =@Many(select="selectUserGroupByUserId"), 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已经能查询到结果了.
用户表数据,中间表数据
简答的一对多demo完成…
Tags: mybatis mybatis关联查询
很赞哦! (3)
随机图文
PHP8.0新特性(4) 联合类型
熟悉PHP8.0的新特性,联合类型,现在定义好联合类型后,创建联合类型不对的时候会抛出异常了。联合类型 相较于以前的 PHPDoc 声明类型的组合, 现在可以用原生支持的联合类型声明取而代之,并在运行爆笑逗B,逗笑的本领一流
1、凡是用钱可以解决的问题,我现在都解决不了。 2、有时候觉得自己挺重要,地球仪离开了我,就不转。 3、做事情一定要三思而后行:可不可以不做?可不可以明天做?可不可以让别人做? 4、重名的现象还是比较普遍的,今天我遇到一个人名叫铁牛,感觉这个名字真的很重。 我看起来是不是很忧郁的样子,其实我是个逗B! 5、女友怀孕后,很多事情都发生了变化。比如。。。。。。。我的住址和手机号码。 6、我yii2伪静态 使用apach在phpstudy配置伪静态
yii2 在phpstudy配置伪静态使用阿帕奇作为服务器,yii中文网找了安装了yii2,安装完composer之后发现路径需要重写,就去官网加上伪静态,只找到一下方式. # 开启 mospringboot 使用quartz 创建简单定时任务 入门篇
quartz是一款优秀的任务调度框架,尽管在springboot中已经集成有任务调度,但是绝大多数情况也还是使用了quartz在执行. 创建springboot项目 同时引入quartz包pom.xm