mybatis中一对多怎么设置

2024年11月17日 18:47
有1个网友回答
网友(1):

id和result的唯一不同是id表示的结果将是当比较对象实例时用到的标识属性。这帮助来改进整体表现,特别是缓存和嵌入结果映射。所以不同数据的id应该唯一区别,不然导致数据结果集只有一条数据。顾客和订单的例子做说明: 一个顾客可以有多个订单, 一个订单只对应一个顾客


1、代码结构图:


2、建表语句:

3、顾客实体:

4、订单实体:

5、一对多实体配置: Person.xml

6、多对一实体配置:

7、总配置: sqlMapConfig.xml

8、测试文件:

9、测试结果:


(1)一对多,查询person(一)级联查询订单order(多)


(2)多对一,查询订单order(多)级联查询person(一)


注意:两张表中的主键id字段名要唯一,例如不能都写id,不然的话,在一对多查询的时候就会出现:级联出来的订单项只有一条记录。我之前就是将两张表的主键id字段名都写为id,导致测试结果级联出来的多一直只有一条数据,具体如下: