`

相关ORM

阅读更多

ORM (Object relation mapping)
对象关系映射
10.1.1 什么是ORM
ORM并不是一种具体的产品,而是一类框架的总称,它概述了这类框架的基本特征:完成面向对象的程序设计语言到关系数据库的映射。基于ORM框架完成映射后,既可利用面向对象程序设计语言的简单易用性,又可利用关系数据库的技术优势。
面向对象程序设计语言与关系数据库发展不同步时,需要一种中间解决方案,ORM框架就是这样的解决方案。笔者认为,随着面向对象数据库的发展,其理论逐步完善,最终会取代关系数据库。只是这个过程不可一蹴而就,ORM框架在此期间内会蓬勃发展。但随着面向对象数据库的出现,ORM工具会自动消亡。
10.1.2 为什么需要ORM
在上一节已经基本回答了这个问题,面向对象的程序设计语言,代表了目前程序设计语言的主流和趋势,其具备非常多的优势,比如:
      面向对象的建模、操作。
      多态、继承。
      摒弃难以理解的过程。
      简单易用,易理解性。
但数据库的发展并未与程序设计语言同步,而且,关系数据库系统的某些优势,也是面向对象的语言目前无法解决的。比如:
      大量数据操作查找、排序。
      集合数据连接操作、映射。
      数据库访问的并发、事务。
      数据库的约束、隔离。
面对这种面向对象语言与关系数据库系统并存的局面,采用ORM就变成一种必然。
10.1.3 流行的ORM框架简介
目前ORM框架的产品非常多,除了各大著名公司、组织的产品外,甚至,其他一些小团队也都有推出自己的ORM框架。目前流行的ORM框架有如下这些产品。
      大名鼎鼎的Hibernate:出自Gavin King的手笔,目前最流行的开源ORM框架,其灵巧的设计,优秀的性能,还有丰富的文档,都是其迅速风靡全球的重要因素。
      传统的Entity EJB:Entity EJB实质上也是一种ORM技术,这是一种备受争议的组件技术,很多人说它非常优秀,也有人说它一钱不值。事实上,EJB为J2EE的蓬勃发展赢得了极高的声誉,就笔者的实际开发经验而言,EJB作为一种重量级、高花费的ORM技术上,具有不可比拟的优势。但由于其必须运行在EJB容器内,而且学习曲线陡峭,开发周期、成本相对较高,因而限制EJB的广泛使用。
      IBATIS:Apache软件基金组织的子项目。与其称它是一种ORM框架,不如称它是一种 “Sql Mapping”框架。相对Hibernate的完全对象化封装,iBATIS更加灵活,但开发过程中开发人员需要完成的代码量更大,而且需要直接编写SQL语句。
      Oracle的TopLink:作为一个遵循OTN协议的商业产品,TopLink在开发过程中可以自由下载和使用,但一旦作为商业产品使用,则需要收取费用。可能正是这一点,导致了TopLink的市场占有率。
      OJB:Apache软件基金组织的子项目。开源的ORM框架,但由于开发文档不是太多,而且OJB的规范一直并不稳定,因此并未在开发者中赢得广泛的支持。

 

笔记
what:
ORM(Object Relation Mapping)
    自动完成对象到关系型数据映射的过程或机制就叫做ORM

ORM主流框架包括:JPA, ibatis, Hibernate.

why:
   1.快速开发
   2.减少重复代码.
   3.提高代码的可复用性.
   4.便于管理与维护

how:
   1.创建操作数据库专用的xml.
   2.在数据库xml文件中配置sql语句以及对象映射关系.
   3.在SqlMapConfig.xml中配置数据库连接以及操作数据库的xml文件.
   4.创建一个专用的SqlMapConfigUtil的工具类,用来解析sqlMapConfig.xml文件
   5.通过sqlMapConfigUitl工具类得到sqlMapConfig对象,并与数据库的xml文件建立映射,执行操作.


关系型数据映射为对象
第一步:获取类的路径
第二步:获取所有字段
第三步:类的实例化
第四部:通过反射得到所有的方法
第五步:通过遍历方法数组,得到方法名
第六步:判断只以set开头的方法,得到字段名
第七步:判断当前字段是否使用,如果存在,则采用隐式的方法调用


详细步骤
 

 

 

 

分享到:
评论

相关推荐

    cpp-SQLiteORM用于现代C的SQLiteORM库只有header

    8. **错误处理和调试**: 使用ORM库时,错误通常与数据一致性、事务管理和SQL查询有关。良好的错误处理机制和日志记录是必不可少的,以帮助开发者诊断和修复问题。 9. **测试和兼容性**: 对于这样的ORM库,开发者...

    ORM对象关系映射

    一个语言或 API 用来规定与类和类属性相关的查询;一个规定 mapping metadata 的工具;一种技术可以让 ORM 的实现同事务对象一起进行 dirty checking, lazy association fetching 以及其他的优化操作。 目前流行的 ...

    K-ORM 自定义ORM工具

    其中,“K-ORM.DOC”位于RAR解压后的DOC目录下,很可能是该工具的使用指南或者详细文档,包含了如何配置、如何创建数据模型、如何进行数据操作等相关内容。对于初次使用K-ORM的开发者来说,这份文档是必不可少的参考...

    hsweb-easy-orm, 简单的orm工具,为动态表单而生.zip

    通常,源码会分为几个主要部分:核心 ORM 引擎、数据库驱动适配器、示例代码以及相关测试用例。通过阅读源码,开发者可以深入了解 HSWeb-Easy-ORM 的实现细节,包括实体类的注解、查询构造器的使用、事务管理等。 ...

    Moon.Orm下载

    总之,Moon.Orm是一个强大的ORM框架,通过它可以极大地提升.NET开发者的数据库操作效率,减少与数据库相关的代码量,同时保持代码的整洁和可维护性。通过深入学习和实践,开发者将能够充分利用这个框架,为项目开发...

    .NET ORM框架

    .NET ORM框架,全称为Object-Relational Mapping(对象关系映射)框架,是.NET开发者...在zc_orm框架这个压缩包中,可能包含了关于这些ORM框架的示例代码、教程或其他相关资源,可以帮助深入理解和学习.NET ORM的使用。

    ORM框架ORM框架ORM框架ORM框架

    同时,ORM也提高了代码的可移植性,因为数据库相关的代码都被抽象化,更换数据库系统时只需调整映射配置即可。然而,ORM也有其局限性,如性能可能略逊于手写SQL,对于非常复杂的查询可能不易表达,以及可能增加内存...

    ORM Framework

    在你提供的文件列表中,我们可以看到多个与ORM相关的项目或库: 1. **elinq-100616**:可能是指Entity Framework的扩展,Entity Framework是.NET平台上的一个开源ORM框架,它提供了将.NET类映射到数据库表的能力,...

    ORM客户关系体系统

    这样,当我们在代码中对对象进行操作时,ORM框架会自动处理相关的SQL语句,实现了数据操作的透明化。 在VS2005中,开发者可以利用C#或VB.NET语言,配合ASP.NET技术来构建Web应用程序。ASP.NET提供了丰富的控件和...

    Dos.ORM-master.zip_dos orm 表别名_dos.ORM 64_dos.orm_orm

    从 "Dos.ORM-master.zip" 文件名来看,这很可能是 Dos.ORM 框架的源码仓库主分支的压缩包,通常包含了框架的所有源代码、示例、文档和其他相关资源。开发者可以下载这个压缩包,通过阅读源码来深入理解其工作原理,...

    简单高效的ORM框架

    8. **错误处理和异常封装**:ORM框架通常会将数据库相关的错误转化为易于理解和处理的程序异常。 综上所述,"简单高效的ORM框架"如FluentAdo,为开发者提供了强大的工具,简化了数据库操作,提高了开发效率,同时...

    Go-GoGolang的ORM库

    XORM的API设计简洁,易于学习,同时也提供了代码生成工具,帮助开发者自动生成数据库模型和相关的数据访问代码。 除了这些主流ORM库,还有一些其他的选项,如Jinzhu的Gorm、Dongo、QOR等,它们都有各自的优点和适用...

    .net 简单实现orm实例

    在这个例子中,`TsNetFourDBM`可能是一个包含数据库操作相关代码的类库或项目文件。在这个项目中,你将找到如何使用C#的反射API来操作SQLite数据库的示例代码,包括如何打开和关闭数据库连接,如何执行SQL命令,以及...

    c#SqliteORM看名称你懂的

    根据压缩包内的文件名,我们可以推测这可能是一个SQLite ORM框架的测试项目和相关的源代码: 1. `SqliteORM.Tests\obj\Debug\ResolveAssemblyReference.cache`:这是编译过程中的一个临时文件,用于存储项目依赖的...

    eform最全中文帮忙手册

    手册包括了eform操作手册、eform集成开发手册、API文档以及eformstudy和eformsales的相关资料,为用户提供了从基础操作到高级开发的全方位支持。 首先,eform操作手册是入门者必读的文档,它详细介绍了eform的基本...

    Orm compare

    标题“Orm compare”暗示了我们将讨论的是关于对象关系映射(ORM)框架的比较,可能是针对不同的ORM解决方案...如果你需要具体关于某个ORM工具的深入知识或对比分析,建议直接访问提供的博客链接或搜索相关的技术文章。

    自制ORM框架

    ORM(Object-Relational Mapping,对象关系映射)框架是一种技术,它允许程序员使用面向对象的方式来操作数据库。在Java世界中,ORM框架如Hibernate、MyBatis等广泛应用于项目开发,简化了数据库操作,提高了开发...

    ORM机制 本人的项目开发经验

    在XTM_User.xml中,通常会定义与cXTM_User类对应的数据库表结构,包括字段名、数据类型等信息,以及相关的SQL查询语句,如插入、更新、删除等操作。这样,当需要对数据库进行操作时,ORM框架会根据这些配置自动生成...

    C# ORM程序及实体生成工具

    2. **Lib**:这个目录可能包含了ORM框架的核心库,包含各种数据访问相关的类和接口。这些类库可能包括数据库连接管理、查询构造器、事务处理、实体映射等功能。 3. **DB.DALObjCodeHelper**:这个名字暗示了一个...

Global site tag (gtag.js) - Google Analytics