resultmapping中使用collection遇到的父级数据重复显示的问题即解决方案。

文章讨论了在MyBatis的resultMap配置中,使用autoMapping属性时,如果包含子类集合可能会导致不期望的效果。为了解决这个问题,作者提供了手动编写resultMap的详细属性来确保数据映射的正确性,这样可以避免不美观的映射结果并保证代码的清晰度。
摘要由CSDN通过智能技术生成

一.展现错误

<resultMap id="deptStructure" type="com.dmdd.smart_community.entity.SysDept" autoMapping="true">
        <collection property="SubDept" javaType="java.util.List" ofType="SysDept">
            <id property="deptId" column="deptId2"></id>
            <result property="deptName" column="name2"></result>
            <result property="status" column="status2"></result>
            <result property="createTime" column="createTime2"></result>
            <collection property="SubDept" javaType="java.util.List" ofType="SysDept">
                <id property="deptId" column="deptId3"></id>
                <result property="deptName" column="name3"></result>
                <result property="status" column="status3"></result>
                <result property="createTime" column="createTime3"></result>
            </collection>
        </collection>
    </resultMap>

 

 

 如果resultmapping直接使用automapping并且其中带有子类集合的话就会造成这样的效果,不美观。

二.正确展示

<resultMap id="deptStructure" type="com.dmdd.smart_community.entity.SysDept">
        <id property="deptId" column="dept_id"></id>
        <result property="deptName" column="dept_name"></result>
        <result property="status" column="status"></result>
        <result property="createTime" column="create_time"></result>
        <collection property="SubDept" javaType="java.util.List" ofType="SysDept">
            <id property="deptId" column="deptId2"></id>
            <result property="deptName" column="name2"></result>
            <result property="status" column="status2"></result>
            <result property="createTime" column="createTime2"></result>
            <collection property="SubDept" javaType="java.util.List" ofType="SysDept">
                <id property="deptId" column="deptId3"></id>
                <result property="deptName" column="name3"></result>
                <result property="status" column="status3"></result>
                <result property="createTime" column="createTime3"></result>
            </collection>
        </collection>
    </resultMap>

 自己手写resultmapping里的属性可以解决问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值