首页 > 其他分享 >orm框架综合

orm框架综合

时间:2023-03-23 10:01:26浏览次数:29  
标签:java 映射 框架 对象 Mapping ORM orm 综合

一,

目前ORM框架的产品非常之多,除了个大公司、组织的产品外,其他一些小团队也在推出自己的ORM框架。目前流行的ORM框架有如下这些产品:

(1)Enitiy EJB:Enitiy EJB实际上也是一种ORM技术,这是一直备受争议的组件技术。事实上,EJB为Java EE的蓬勃发展赢得了极高的声誉,EJB作为一种重量级、高花费的ORM技术具有不可比拟的优势。就其他架构设计来讲,依然非常优秀。即使现在十分流行的轻量级Java EE架构,其实质是对经典Java EE架构的模仿——虽然存在些许的改进。EJB3.1也采取了低侵入式的设计,增加了Annotation,也具有极大的吸引力。

(2)hibernate:目前最流行的开源ORM框架,已经被选作JBoss的持久层解决方案。整个HIbernate项目也一并投入了Jboss的怀抱,而JBoss又加入了RedHat组织,所以现在Hibernate属于RedHat 的一部分。Hibernate 灵巧的设计、优秀的性能,还有其丰富的文档都是其风靡全球的重要因素。

(3)iBatis: Apache软件基金组织的子项目。与其称它为一种ORM框架,不如称它为一中“SQL Mapping”框架。曾经在J2EE的开发中扮演非常重要的角色,但因为不支持存粹的面向对象操作,因此现在逐渐地被取代。但是在一些公司,依然占有一席之地,特别是一些对数据访问特别灵活的地方,iBatis更加的灵活,它允许开发人员直接编写SQL语句。

(4)TopLink:Oracle公司的产品,作为一个遵循OTN协议的商业产品,TopLink 在开发过程中可以自由地下载和使用,但是一旦作为商业产品被使用,则需要收取费用。由于这一点,TopLink 的市场占有率不高。

(5)OBJ:Apache软件基金组织的子项目。另一个开源的ORM框架,可以说是Apache作为iBatis之后的取代产品,也是非常优秀的O/R Mapping框架,但是由于Hibernate 的广芒太盛,所以并未有广泛的使用,而且由于OJB的开发文档不是很多,这也影响了OJB的流行。

二orm框架的优缺点和应用,

1. 什么是ORM?

对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。

2.为什么使用ORM?

当我们实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存、删除、读取对象信息,而这些代码都是重复的。而使用ORM则会大大减少重复性代码。对象关系映射(Object Relational Mapping,简称ORM),主要实现程序对象到关系数据库数据的映射。

3.对象-关系映射解释:

A . 简单:ORM以最基本的形式建模数据。比如ORM会将MySQL的一张表映射成一个Java类(模型),表的字段就是这个类的成员变量
B . 精确:ORM使所有的MySQL数据表都按照统一的标准精确地映射成java类,使系统在代码层面保持准确统一
C .易懂:ORM使数据库结构文档化。比如MySQL数据库就被ORM转换为了java程序员可以读懂的java类,java程序员可以只把注意力放在他擅长的java层面(当然能够熟练掌握MySQL更好)
D.易用:ORM包含对持久类对象进行CRUD操作的API,例如create(), update(), save(), load(), find(), find_all(), where()等,也就是讲sql查询全部封装成了编程语言中的函数,通过函数的链式组合生成最终的SQL语句。通过这种封装避免了不规范、冗余、风格不统一的SQL语句,可以避免很多人为Bug,方便编码风格的统一和后期维护。

orm框架综合_ORM

4. ORM的优缺点:

优点:
1)提高开发效率,降低开发成本
2)使开发更加对象化
3)可移植
4)可以很方便地引入数据缓存之类的附加功能
缺点:
1)自动化进行关系数据库的映射需要消耗系统性能。其实这里的性能消耗还好啦,一般来说都可以忽略之。
2)在处理多表联查、where条件复杂之类的查询时,ORM的语法会变得复杂。

 



标签:java,映射,框架,对象,Mapping,ORM,orm,综合
From: https://blog.51cto.com/u_15535797/6144391

相关文章

  • c# winform只能打开一个程序
    if(System.Diagnostics.Process.GetProcessesByName(System.Diagnostics.Process.GetCurrentProcess().ProcessName).Length>1){MessageBo......
  • Spring框架
    1. 简介   (1)SpringFramework是其他框架的基础,如SpringMVC、SpringBoot、SpringCloud、SpringData、SpringSecurity。   (2)Spring有两个核心部分 ......
  • 【informix】数据导入导出操作
    目录informix数据导入导出操作1.表数据导出2.导入表数据3.表结构导出4.informix新建/删除表结构5.informix存储过程执行方法informix数据导入导出操作1.表数据导出可以......
  • Twitter Storm安装配置(单机版)
    storm的官方安装说明(e文):https://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster storm的安装分为单机版和集群版,只是配置稍微有点区别,大致一样。 要使用st......
  • Storm的介绍与安装(简单)
    Storm的集群跟hadoop的集群非常像。但是在Hadoop上面你运行的是MapReduce的Job, 而在Storm上面你运行的是Topology。在Storm的集群里面有两种节点: 控制节点(master node)......
  • Python 四大主流 Web 编程框架
    目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实。但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及......
  • GitHub项目Storm-HBase介绍
    ​​Storm-HBase​​​,该项目是​​TwitterStorm​​​和​​ApacheHBase​​​的结合,它使用HBasecluster作为Storm的Spout数据源,目前只是初步实现,后续会进一步完善。​......
  • Java 全文搜索框架 Lucene
    Lucene是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员......
  • JavaScript 通讯框架 NowJS
    NowJS是一个实现了JavaScript服务器端进行通讯的框架,基于​​Node.js​​开发。示例代码:服务器端:<scriptsrc="/nowjs/now.js"></script>vareveryone=require("now"......
  • WebSocket通讯框架 jWebSocket
    jWebSocket提供用来创建基于HTML5的Web流通讯的应用框架。HTML5WebSockets将替换现有的XHR应用和Comet服务,通过一个灵活高速双向的TCPsocket通讯技术。jWebSo......