mybatis进阶(1)--高级映射之数据模型分析

来源:互联网 发布:seo关键字是什么 编辑:程序博客网 时间:2024/06/05 06:50

1.先回顾下我们之前的输入输出映射
parameterType和resultType是对sql执行进行入出映射,可以是一些简单类型,pojo,hashmap等
2.高级映射
将关联映射的列查询映射到一个pojo属性中。(1对1)
将关联映射的列查询映射到List<pojo>属性中。(1对多)
3.订单中的映射需求
数据模型分析思路:
(1)每张表记录的数据内容
分模块对每张表记录的内容进行熟悉,了解系统需求,需求也就对应功能
(2)每张表的重要字段的设置
非空字段,外键字段
(3)数据库级别表与表之间的关系
晚间关系
(4)表与表之间的业务关系
在分析表与表的业务关系时一定要建立在某个业务意义基础上去分析

  1. 数据模型分析:
    (1)每张表记录的数据内容
    user:用户表
    记录了购买商品的用户信息
    这里写图片描述
    items:商品表
    记录了商品信息
    这里写图片描述
    orders:订单表
    记录了用户所创建的订单(购买商品的订单)
    这里写图片描述
    orderdetail:订单明细表
    记录了订单的详细信息即购买商品的信息
    这里写图片描述

(2)每张表的重要字段的设置
user:username
items:name,price
orders:number订单号,user_id外键
orderdetail:orders_id外键,items_id外键
(3)数据库级别表与表之间的关系
orders:number订单号,user_id外键
orderdetail:orders_id外键,items_id外键
(4)表与表之间的业务关系
user —> orders: 一个用户可以创建多个订单,一对多
orders —>user: 一个订单只由一个用户创建,一对一
orders —>orderdetail: 一个订单可以包括多个订单明细,因为一个订单可以购买多个商品,每个商品的信息在orderdetail中记录,一对多
orderdetail —>orders:一个明细只能在一个订单中,一对一
orderdetail —>items:一个订单明细只对应一个商品信息,一对一
items —>orderdetail:一个商品可以包括在多个明细中
orders和items之间间接通过orderdetail有关系:多对多
user和items之间间接通过orders有关系:多对多

原创粉丝点击