以订单商品数据为模型,来对mybaits高级关系映射进行学习。

六 mybatis高级映射(一对一,一对多,多对多)

六 mybatis高级映射(一对一,一对多,多对多)

1.1     数据模型分析思路

 

1、每张表记录的数据内容

         分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程。

2、每张表重要的字段设置

         非空字段、外键字段

3、数据库级别表与表之间的关系

         外键关系

4、表与表之间的业务关系

         在分析表与表之间的业务关系时一定要建立 在某个业务意义基础上去分析。

 

1.2     数据模型分析

用户表user:

         记录了购买商品的用户信息

 

订单表:orders

         记录了用户所创建的订单(购买商品的订单)

 

订单明细表:orderdetail:

         记录了订单的详细信息即购买商品的信息

 

商品表:items

         记录了商品信息

 

表与表之间的业务关系:

         在分析表与表之间的业务关系时需要建立 在某个业务意义基础上去分析。

先分析数据级别之间有关系的表之间的业务关系:

        

usre和orders:

user---->orders:一个用户可以创建多个订单,一对多

orders--->user:一个订单只由一个用户创建,一对一

 

orders和orderdetail:

orders---》orderdetail:一个订单可以包括 多个订单明细,因为一个订单可以购买多个商品,每个商品的购买信息在orderdetail记录,一对多关系

 

orderdetail--> orders:一个订单明细只能包括在一个订单中,一对一

 

 

orderdetail和itesm:

orderdetail---》itesms:一个订单明细只对应一个商品信息,一对一

 

items--> orderdetail:一个商品可以包括在多个订单明细 ,一对多

 

再分析数据库级别没有关系的表之间是否有业务关系:

orders和items:

orders和items之间可以通过orderdetail表建立 关系。

sqlMapConfig.xml配置

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE configuration
 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
 5 <configuration>
 6 
 7     <!-- 加载属性文件 -->
 8     <properties resource="db.properties">
 9         <!--properties中还可以配置一些属性名和属性值  -->
10         <!-- <property name="jdbc.driver" value=""/> -->
11     </properties>
12         
13     <!-- 和spring整合后 environments配置将废除-->
14     <environments default="development">
15         <environment id="development">
16         <!-- 使用jdbc事务管理,事务控制由mybatis-->
17             <transactionManager type="JDBC" />
18         <!-- 数据库连接池,由mybatis管理-->
19             <dataSource type="POOLED">
20                 <property name="driver" value="${jdbc.driver}" />
21                 <property name="url" value="${jdbc.url}" />
22                 <property name="username" value="${jdbc.username}" />
23                 <property name="password" value="${jdbc.password}" />
24             </dataSource>
25         </environment>
26     </environments>
27     <!-- 加载 映射文件 -->
28     <mappers>
29         
30         <!--通过resource方法一次加载一个映射文件 -->
31         <!-- <mapper resource="mapper/UserMapper.xml"/> -->
32         
33         <!-- 通过mapper接口加载单个 映射文件
34         遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
35         上边规范的前提是:使用的是mapper代理方法
36          -->
37         <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> -->
38         
39         <!-- 批量加载mapper
40         指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
41         遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
42         上边规范的前提是:使用的是mapper代理方法
43          -->
44         <package name="cn.itcast.mapper"/>
45 
46     </mappers>
47     
48 </configuration>
View Code

相关文章:

  • 2018-01-09
  • 2022-01-17
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-27
  • 2021-06-27
  • 2022-01-20
  • 2021-07-05
相关资源
相似解决方案