java一个实体类包含多个实体类mybatis中怎么书写
1 java实体类 TestA
public class TestA {
private Integer testAId;
private String testAName;
}
2 TestB
public class TestB {
private Integer testBId;
private String testBName;
private TestD testD;
}
3 TestC
public class TestC {
private TestA testA;
private TestB testB;
}
4 TestD
public class TestD {
private Integer testDId;
private String testDName;
}
包含关系
其中 TestC 中包含TestA 和 TestB
其中TestB中又包含TestD 多级包含关系
mybatis 映射
<resultMap id="demo_first" type="com.mogu.gmallapi.pojo.Test.TestC">
<association property="testA" javaType="com.mogu.gmallapi.pojo.Test.TestA">
<id column="testAId" property="testAId"/>
<!--
column 代表数据库中的一列的名称(我数据库没有标准写,没有开启下划线写法)
其中 第一行 id 代表这个resultMap 的唯一标识符 相当于css中的id一样 全局唯一
type 和 javaType 类似 功能差不多都是映射
三行的id 是数据库主键的映射
如果一个实体类 包含另外一种实体类 另外一个又包含一个
直接嵌套 <association/>标签即可
-->
<result column="testAName" property="testAName"/>
</association>
<association property="testB" javaType="com.mogu.gmallapi.pojo.Test.TestB">
<id column="testBId" property="testBId"/>
<result column="testBName" property="testBName"/>
<association property="testD" javaType="com.mogu.gmallapi.pojo.Test.TestD">
<id column="testdId" property="testDId"/>
<result column="testdName" property="testDName"/>
</association>
</association>
</resultMap>
还有另外一种写法
<resultMap id="Base_test_A" type="com.mogujie.gmallapi.pojo.Test.TestA">
<result column="testAId" property="testAId"/>
<result column="testAName" property="testAName"/>
<association property="testB" javaType="com.mogu.gmallapi.pojo.Test.TestB" resultMap="Base_test_B"/>
</resultMap>
只不过是把<association> 标签 不在标签内写了, 另外起一个resultMap 来填充