相关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开头的方法,得到字段名
第七步:判断当前字段是否使用,如果存在,则采用隐式的方法调用


详细步骤
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值