• 解决MyBatis 多表联合查询,字段重复的问题


    属性名表实体

    @Data
    public class PmsBaseAttrInfo implements Serializable {
    
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Id
        @Column
        private String id;
        @Column
        private String attrName;
        @Column
        private String catalog3Id;
        @Column
        private String isEnabled;
        @Transient
        List<PmsBaseAttrValue> attrValueList;
    
    }

    属性值表实体

    @Data
    public class PmsBaseAttrValue implements Serializable {
        @Id
        @Column
        private String id;
        @Column
        private String valueName;
        @Column
        private String attrId;
        @Column
        private String isEnabled;
    
        @Transient
        private String urlParam;
    }

    属性名表实体id与属性值表实体id字段一样,属性名表与属性值关系是一对多关联,如果在mybatis不使用别名的话,mybatis是识别不了的,查询出来的结果是混乱的

    使用别名的查询如下 :

    属性名表与属性值表的id字段相同,如果不用别名的话,查询的结果会出现意想不到的错误,因此,设置属性值表的id为attrValueId

    同时也要更改column为别名字段,这样查询出来的结果还是和实体一致,不会变成attrValueId,这个只是给mybatis起识别作用

    <id property="id" column="attrValueId" />

    查询出来的结果符合预期,如下:

  • 相关阅读:
    HTML标签大全
    PHP实现QQ第三方登录代码
    php链接access并查询列出
    php连接Access数据库
    获取文件信息
    动态网页转伪静态
    asp读取指定目录下的文件名
    如何设置VBA代码的密码?如何取消VBA代码的密码?
    ol序号并在序号加背景色
    免费ASP空间
  • 原文地址:https://www.cnblogs.com/caohanren/p/12973505.html
Copyright © 2020-2023  润新知