关于mybatis一对一查询一对多查询遇到的问题(mybatis一对一)

网友投稿 284 2022-07-27


springboot整合mybatis项目博客系统文章,相册,评论,标签,等表IDEA为最新版2021.3.3,mysql数据库为最新版Navicat(或许有些字段不支持特定的命名)

也是醉了,以前idea还是19版的,navicat也是老版本的时候mybatis关联查询mapper操作能正常运行,拿到相应字段,并封装,但最近写项目过程中遇到一个离谱的是,过了好久才发现,

当关联查询时,无论一对一还是一对多除了需要注意javaType和ofType之外,还应该注意各表主键不能同一名称

实体类文章

@Data

@AllArgsConstructor

@NoArgsConstructor

public class Article implements Serializable {

private Integer id;

private Integer authorId;

private String title;

private String content;

private Timestamp date;//private LocalDate date;

private Users user;

private List commentList;

private List articleTagList;

}

先看一下我下面代码块的写法,注意一对一,一对多的各个实体查询时的id,都是拿的数据库的id字段,只有标签被我改为了tag_id

select a.*,u.*,t.*

from article a

join users u on a.authorid = u.id

left outer join article_tag t on a.id = t.article_id

&lthttp://;id column="id" property="id"/>

如下图所以当我测试的时候能正常根据id拿到每张表的同一主键名称id吗

看控制台输出/

我的用户表里就没有id为56的


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot+Elasticsearch实现数据搜索的方法详解(elasticsearch 查询索引)
下一篇:Spring IOC容器基于XML外部属性文件的Bean管理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~