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

 更新时间:2022年05月30日 15:06:04   作者:roydon_Guo  
这篇文章主要介绍了关于mybatis一对一查询,一对多查询遇到的错误,接下来是对文章进行操作,要求查询全部文章,并关联查询作者,文章标签,本文给大家介绍的非常详细,需要的朋友可以参考下

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<Comment> commentList;
    private List<ArticleTag> articleTagList;
}

接下来是对文章进行操作,要求查询全部文章,并关联查询作者,文章标签(一个文章多个标签)

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

<select id="queryAllArticles" resultMap="ArticleList">
        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
    </select>
    <resultMap id="ArticleList" type="article">
        <id column="id" property="id"/>
        <result column="authorid" property="authorId"/>
        <result column="title" property="title"/>
        <result column="content" property="content"/>
        <result column="date" property="date"/>
        <association property="user" javaType="users">
            <id column="id" property="id"/>
            <result column="pet_name" property="petName"/>
            <result column="headportrait" property="headPortrait"/>
        </association>
        <collection property="articleTagList" ofType="articleTag">
            <id column="tag_id" property="tagId"/>
            <result column="article_id" property="articleId"/>
            <result column="tag_content" property="tag"/>
        </collection>
    </resultMap>

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

并不能拿到
控制台仅仅正确输出了标签list中的tag_id,没错,细心点,我也是最后才发现,它nn的,上面输出的user(文章作者)他的id封装错了,他的id是这篇文章的id,所以,sql我自此所有表的主键不都全命名为id了,防止此处再烙下病根,而且数据库字段在命名时,我发现字段名字为describe和tag都查不到数据,本来想简简单单命名的数据库表,也得上心了拜拜了~~改bug去了🥲😭🥲😭✍️✍️
///

看控制台输出/

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

user

article

到此这篇关于关于mybatis一对一查询,一对多查询遇到的错误的文章就介绍到这了,更多相关mybatis一对一查询一对多查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决java.util.NoSuchElementException异常正确方法

    解决java.util.NoSuchElementException异常正确方法

    java.util.NoSuchElementException是Java中的一种异常,表示在迭代器或枚举中找不到元素,这篇文章主要给大家介绍了关于解决java.util.NoSuchElementException异常的相关资料,需要的朋友可以参考下
    2023-11-11
  • Java集合框架Collections原理及用法实例

    Java集合框架Collections原理及用法实例

    这篇文章主要介绍了Java集合框架Collections原理及用法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringAnimation 实现菜单从顶部弹出从底部消失动画效果

    SpringAnimation 实现菜单从顶部弹出从底部消失动画效果

    最近做项目遇到这样一个需求,要求实现一种菜单,菜单从顶部弹入,然后从底部消失,顶部弹入时,有一个上下抖动的过程,底部消失时,先向上滑动,然后再向下滑动消失。下面给大家带来了实现代码,感兴趣的朋友一起看看吧
    2018-05-05
  • Spring AOP手写动态代理代码实例

    Spring AOP手写动态代理代码实例

    这篇文章主要介绍了Spring AOP手写动态代理代码实例,AOP我们知道,是在不修改源代码的情况下,为代码添加一些新功能的技术,通过动态代理,可以在不修改原始类代码的前提下,对方法进行拦截和增强,需要的朋友可以参考下
    2024-01-01
  • spring事物传播propagation类别含义详解

    spring事物传播propagation类别含义详解

    这篇文章主要介绍了spring事物传播propagation类别含义详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • IDEA运行Tomcat中文乱码出现的各种问题

    IDEA运行Tomcat中文乱码出现的各种问题

    这篇文章主要介绍了IDEA运行Tomcat中文乱码的各种问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Java框架篇:Spring+SpringMVC+hibernate整合开发

    Java框架篇:Spring+SpringMVC+hibernate整合开发

    本篇文章将会对Spring+SpringMVC+hibernate的整合开发进行介绍。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-02-02
  • 详解IDEA的快捷键及智能提示

    详解IDEA的快捷键及智能提示

    这篇文章主要介绍了详解IDEA的快捷键及智能提示,文中有非常详细的快捷键及智能提示的说明,对正在使用IDEA的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • JAVA 自定义线程池的最大线程数设置方法

    JAVA 自定义线程池的最大线程数设置方法

    这篇文章主要介绍了JAVA 自定义线程池的最大线程数设置方法,文中示例代码非常详细,供大家参考和学习,感兴趣的朋友可以了解下
    2020-06-06
  • SpringBoot与SpringSecurity整合方法附源码

    SpringBoot与SpringSecurity整合方法附源码

    这篇文章主要介绍了SpringBoot与SpringSecurity整合,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论