Mybatis 学习笔记之 高级映射(六)

数据模型分析

1.useryee 和 orders:
useryee --->orders:一个用户可以创建多个订单,一对多;
orders   --->user:一个订单只由一个用户创建,一对一。

2.orders 和 orderdetail:
orders ---> orderdetail:一个订单可以包括 多个订单明细,因为一个订单可以购买多个商品,每个商品的购买信息在orderdetail 记录,一对多关系;
orderdetail ---> orders:一个订单明细只能包括在一个订单中,一对一。

3.orderdetail 和 products:
orderdetail ---> products:一个订单明细只对应一个商品信息,一对一
products ---> orderdetail:一个商品可以包括在多个订单明细 ,一对多

4.数据库级别没有关系的表
再分析数据库级别没有关系的表之间是否有业务关系:
orders 和 products 之间可以通过 orderdetail 表建立 关系;

user 和 products 是多对多关系。


5.各个数据表数据





一对一查询

1.Orders 类中添加 User 属性:



2.userMapper.xml:




3.UserMapper.java:



4.UserMapperTest.java:



5.测试结果:
[Orders [id=1, userId=1, number=1000010, createTime=Thu Apr 19 17:30:29 CST 2018, note=null, user=User [id=1, name=Lawxf, sex=male, address=null]], Orders [id=2, userId=1, number=1000011, createTime=Thu Apr 19 17:30:29 CST 2018, note=null, user=User [id=1, name=Lawxf, sex=male, address=null]], Orders [id=3, userId=2, number=1000012, createTime=Thu Apr 19 17:30:29 CST 2018, note=null, user=User [id=2, name=Yellia, sex=femal, address=null]]]



一对多查询

1. Orders 添加 orderDetail 属性:



2. userMapper.xml:



3.UserMapper.java:



4. UserMapperTest.java:



5.测试结果:

[Orders [id=2, userId=1, number=1000011, createTime=Thu Apr 19 17:30:29 CST 2018, note=null, user=User [id=1, name=Lawxf, sex=male, address=null], orderDetails=[OrderDetail [id=3, ordersId=2, productsId=3, productsNum=4], OrderDetail [id=4, ordersId=2, productsId=2, productsNum=3]]], Orders [id=3, userId=2, number=1000012, createTime=Thu Apr 19 17:30:29 CST 2018, note=null, user=User [id=2, name=Yellia, sex=femal, address=null], orderDetails=[OrderDetail [id=1, ordersId=3, productsId=1, productsNum=1], OrderDetail [id=2, ordersId=3, productsId=2, productsNum=3]]]]

猜你喜欢

转载自blog.csdn.net/qq_30715329/article/details/80017703