MyBatis 两表关联查询,一对多关系,两表字段相同,子表个别列的数据被覆盖,通过修改主表映射xml解决问题

问题描述:MyBatis 两表关联查询,一对多关系,两表字段相同,子表个别列的数据被覆盖。
解决前 控制台打印结果:
[ classid = 611, code = userStatus, name = 用户状态, memo = 用户状态,oid = null, status = 1,parclassid = 610, path = 1.352.610.611.,isnode = 1 ]

[ dictid = 612, classid = 611, code = userStatus, name = 用户状态, zjm = ZC, memo = 用户状态,oid = null,status = 1]
[ dictid = 613, classid = 611, code = userStatus, name = 用户状态, zjm = GQ, memo = 用户状态,oid = null,status = 1]
[ dictid = 614, classid = 611, code = userStatus, name = 用户状态, zjm = ZX, memo = 用户状态,oid = null,status = 1]
[ dictid = 615, classid = 611, code = userStatus, name = 用户状态, zjm = SD, memo = 用户状态,oid = null,status = 1]
[ dictid = 681, classid = 611, code = userStatus, name = 用户状态, zjm = WJF, memo = 用户状态,oid = null,status = 1]

解决后控制台打印结果:

[ classid = 611, code = userStatus,name = 用户状态, memo = 用户状态,oid = null, status = 1,parclassid = 610, path = 1.352.610.611.,isnode = 1 ]

[ dictid = 612, classid = 611,code = 1, name = 正常, zjm = ZC, memo = 正常,oid = 1,status = 1]
[ dictid = 613, classid = 611,code = 2, name = 挂起, zjm = GQ, memo = 挂起,oid = 2,status = 1]
[ dictid = 614, classid = 611,code = 3, name = 注销, zjm = ZX, memo = 注销,oid = 3,status = 1]
[ dictid = 615, classid = 611,code = 4, name = 锁定, zjm = SD, memo = 锁定,oid = 4,status = 1]
[ dictid = 681, classid = 611,code = 5, name = 未缴费, zjm = WJF, memo = null,oid = 5,status = 1]

条件描述:

BASE_DICTIONARY_KIND表里的主键是BASE_DICTIONARY_INFO表的外键。一对多关系。

下边上代码!

实体类BaseDictionaryKind

package xyhsoft.dictionary.demo.Entity;

import java.math.BigDecimal;
import java.util.List;

public class BaseDictionaryKind {
    private Long classid;
    private String code;
    private String name;
    private String memo;
    private BigDecimal oid;
    private String status;
    private Long parclassid;
    private String path;
    private String isnode;
    private List<BaseDictionaryInfo> baseDictionaryInfo;

    public String toString(){  
        return "[ classid = " + classid  + ", code = " + code + ",name = " + name  + ", memo = " + memo + ",oid = " + oid  + ", status = " + status + ",parclassid = " + parclassid  + ", path = " + path + ",isnode = " + isnode + "]";  
    }  
    public Long getClassid() {
        return classid;
    }
    public void setClassid(Long classid) {
        this.classid = classid;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }
    public String getMemo() {
        return memo;
    }
    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }
    public BigDecimal getOid() {
        return oid;
    }
    public void setOid(BigDecimal oid) {
        this.oid = oid;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }
    public Long getParclassid() {
        return parclassid;
    }
    public void setParclassid(Long parclassid) {
        this.parclassid = parclassid;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path == null ? null : path.trim();
    }
    public String getIsnode() {
        return isnode;
    }
    public void setIsnode(String isnode) {
        this.isnode = isnode == null ? null : isnode.trim();
    }
	public List<BaseDictionaryInfo> getBaseDictionaryInfo() {
		return baseDictionaryInfo;
	}
	public void setBaseDictionaryInfo(List<BaseDictionaryInfo> baseDictionaryInfo) {
		this.baseDictionaryInfo = baseDictionaryInfo;
	}
}

实体类BaseDictionaryInfo

package xyhsoft.dictionary.demo.Entity;
public class BaseDictionaryInfo {
    private Long infodictid;
    private Long infoclassid;
    private String infocode;
    private String infoname;
    private String infozjm;
    private String infomemo;
    private Short infooid;
    private String infostatus;

    public String toString(){  
        return "[ dictid = " + infodictid  + ", classid = " + infoclassid + ",code = " + infocode  + ", name = " + infoname + ",zjm = " + infozjm  + ", memo = " + infomemo + ",oid = " + infooid  + ", status = " + infostatus + "]";  
    }
    
	public Long getInfodictid() {
		return infodictid;
	}
	public void setInfodictid(Long infodictid) {
		this.infodictid = infodictid;
	}
	public Long getInfoclassid() {
		return infoclassid;
	}
	public void setInfoclassid(Long infoclassid) {
		this.infoclassid = infoclassid;
	}
	public String getInfocode() {
		return infocode;
	}
	public void setInfocode(String infocode) {
		this.infocode = infocode;
	}
	public String getInfoname() {
		return infoname;
	}
	public void setInfoname(String infoname) {
		this.infoname = infoname;
	}
	public String getInfozjm() {
		return infozjm;
	}
	public void setInfozjm(String infozjm) {
		this.infozjm = infozjm;
	}
	public String getInfomemo() {
		return infomemo;
	}
	public void setInfomemo(String infomemo) {
		this.infomemo = infomemo;
	}
	public Short getInfooid() {
		return infooid;
	}
	public void setInfooid(Short infooid) {
		this.infooid = infooid;
	}
	public String getInfostatus() {
		return infostatus;
	}
	public void setInfostatus(String infostatus) {
		this.infostatus = infostatus;
	}
    }

映射xml文件

BaseDictionaryKindMapper.xml

<?xml version="1.0" encoding="UTF
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值