什么orm(ORM框架是什么)
什么是ORM?
目标联系映射(Object Relational Mapping,简称ORM)方式是一种为了处理面向目标与联系数据库存在的互不匹配的现象的技能。简略的说,ORM是经过运用描绘目标和数据库之间映射的元数据,将程序中的目标主动耐久化到联系数据库中。那么,究竟怎么完成耐久化呢?一种简略的计划是选用硬编码办法,为每一种或许的数据库拜访操作供给独自的办法。这种计划存在以下缺少:1.耐久化层缺少弹性。一旦呈现事务需求的改动,就必须修正耐久化层的接口2.耐久化层一起与域模型与联系数据库模型绑定,不论域模型仍是联系数据库模型发生变化,毒药修正耐久化曾的相关程序代码,增加了软件的保护难度。ORM供给了完成耐久化层的另一种方式,它选用映射元数据来描绘目标联系的映射,使得ORM中间件能在任何一个运用的事务逻辑层和数据库层之间充任桥梁。Java典型的ORM中间件有:Hibernate,ibatis,speedframework。ORM的办法论根据三个中心准则: · 简略:以最基本的方式建模数据。 · 传达性:数据库结构被任何人都能了解的言语文档化。 · 精确性:根据数据模型创立正确规范化了的结构。二、ORM的概念让咱们从O/R开端。字母O起源于目标(Object),而R则来自于联系(Relational)。简直一切的程序里边,都存在目标和联系数据库。在事务逻辑层和用户界面层中,咱们是面向目标的。当目标信息发生变化的时分,咱们需求把目标的信息保存在联系数据库中。当你开发一个运用程序的时分(不运用O/R Mapping),你或许会写不少数据拜访层的代码,用来从数据库保存,删去,读取目标信息,等等。你在DAL中写了许多的办法来读取目标数据,改动状况目标等等使命。而这些代码写起来总是重复的。ORM处理的主要问题是目标联系的映射。域模型和联系模型分别是建立在概念模型的基础上的。域模型是面向目标的,而联系模型是面向联系的。一般情况下,一个耐久化类和一个表对应,类的每个实例对应表中的一条记载,类的每个特色对应表的每个字段。ORM技能特色:1.提高了开发功率。因为ORM能够主动对Entity目标与数据库中的Table进行字段与特色的映射,所以咱们实践或许现已不需求一个专用的、巨大的数据拜访层。2.ORM供给了对数据库的映射,不必sql直接编码,能够像操作目标相同从数据库获取数据。三、ORM的优缺陷ORM的缺陷是会献身程序的履行功率和会固定思想方式。从体系结构上来看,选用ORM的体系一般都是多层体系,体系的层次多了,功率就会下降。ORM是一种彻底的面向目标的做法,而面向目标的做法也会对功能发生必定的影响。在咱们开发体系时,一般都有功能问题。功能问题主要发生在算法不正确和与数据库不正确的运用上。ORM所生成的代码一般不太或许写出很高效的算法,在数据库运用上更有或许会被误用,主要表现在对耐久目标的提取和和数据的加工处理上,假如用上了ORM,程序员很有或许将悉数的数据提取到内存目标中,然后再进行过滤和加工处理,这样就简略发生功能问题。在对目标做耐久化时,ORM一般会耐久化一切的特色,有时,这是不期望的。但ORM是一种东西,东西的确能处理一些重复,简略的劳作。这是不可否认的。但咱们不能盼望东西能一了百了的处理一切问题,有些问题仍是需求特别处理的,但需求特别处理的部分对绝大多数的体系,应该是很少的。
ORM结构是什么
ORM结构选用元数据来描绘目标一联系映射细节,元数据一般选用XML格局,而且存放在专门的目标一映射文件中。
只需供给了耐久化类与表的映射联系,ORM结构在运行时就能参照映射文件的信息,把目标耐久化到数据库中。当时ORM结构主要有三种:Hibernate,iBATIS,Eclipselink。
motolinia
什么是ORM,以及在php上的运用ORM:object relation mapping,即目标联系映射,简略的说便是目标模型和联系模型的一种映射。能够在PHP开发的事务逻辑层,经过数据拜访层来处理。ORM便是数据拜访层强壮的一种处理计划。经过它,能够巨大极限阻隔事务逻辑层和数据源之间的耦合度