【ITOO】浅谈ORM
来源:互联网 发布:all in one seo pack 编辑:程序博客网 时间:2024/06/04 19:09
昨天米老师给我普及了一下基础知识,比如ORM、SOA、JPA、AOP等等,让我受益匪浅!所以,今天通过查资料,将这些东西整理一下。。
背景
在当今的企业级应用开发环境中,面向对象是主流开发方法,关系数据库是主流数据存储系统。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。
对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系。但是在数据库中,关系数据无法直接表达多对多关联和继承关系。
因此,为了解决这个不匹配的现象,对象关系映射技术应运而生。
定义
广义
ORM(Object Relational Mapping)一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
狭义
基于关系型数据库的数据存储,实现一个虚拟的、面向对象的数据访问接口。
作用
实体的变化自动映射到数据库的变化。
原理
1、跟踪实体的变化
2、根据映射关系和实体的变化,生成相应的sql脚本,并执行到数据库中
组成
ORM一般包括以下四部分:
一个API:可将持久类对象进行CRUD操作;
一种语言(或API):用来规定和类、及其类属性相关的查询;
一种工具:用来规定mapping metadata;
一种技术:可以让ORM的实现同事务对象一起进行dirtychecking, lazy association fetching以及其他的优化操作。
总结
点滴知识的积累!
- 【ITOO】浅谈ORM
- 【ITOO】浅谈MVC
- 【ITOO】 EF框架之ORM思想的体现
- 浅谈JPA- ORM
- 浅谈ORM对象关系数据库映射
- ITOO总结
- 优化ITOO
- ITOO讨论会
- 【ITOO】工作流
- 【ITOO】S0A
- 【ITOO】DTO
- ORM
- ORM
- ORM
- ORM
- ORM
- ORM
- ORM
- 如何让绑定串号的游戏账号能在其他机器上跨机运行
- Linux下ffmpeg的完整安装
- Java垃圾回收机制
- php + js 实现拖拽上传 以及 复制粘贴上传图片
- 7 款风格新颖的 jQuery/CSS3 导航
- 【ITOO】浅谈ORM
- 【C#】解决devexpress新建的Form窗体没有继承默认样式的问题
- laravel框架的启动过程分析
- java的IO流以及复制粘贴操作
- PHP call_user_func_array()函数
- 从程序员的眼中去看《黑客帝国》
- How to replace a Django model field with a property
- C#实现Base64的编码与解码
- 安卓listview两个类型条目的复用,总是报数组越界Android listview ArrayIndexOutOfBoundsException问题