【ITOO】浅谈ORM

   昨天米老师给我普及了一下基础知识,比如ORM、SOA、JPA、AOP等等,让我受益匪浅!所以,今天通过查资料,将这些东西整理一下。。


   背景

   在当今的企业级应用开发环境中,面向对象是主流开发方法,关系数据库是主流数据存储系统。

   面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。

   对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系。但是在数据库中,关系数据无法直接表达多对多关联和继承关系。

   因此,为了解决这个不匹配的现象,对象关系映射技术应运而生。


   定义

   广义

   ORM(Object Relational Mapping)一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

   狭义

   基于关系型数据库的数据存储,实现一个虚拟的、面向对象的数据访问接口。

 

   作用

   实体的变化自动映射到数据库的变化。

 

   原理

   1、跟踪实体的变化

   2、根据映射关系和实体的变化,生成相应的sql脚本,并执行到数据库中

 

   组成

   ORM一般包括以下四部分:

   一个API:可将持久类对象进行CRUD操作;

   一种语言(或API):用来规定和类、及其类属性相关的查询;

   一种工具:用来规定mapping metadata;

   一种技术:可以让ORM的实现同事务对象一起进行dirtychecking, lazy association fetching以及其他的优化操作。

 

   总结

   点滴知识的积累!

 

 

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值