对象关系映射(Object-Relation Mapping)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
ORM在面向对象模型与关系模型之间架起桥梁。
通过对象与数据库之间映射的元数据,自动透明地把java中的对象持久化到关系数据库里,对数据库的操作可以转换为对对象的操作
使用ORM的好处:
效率:抛弃冗长乏味的持久化代码,集中精力编写业务逻辑。
可维护性:逻辑清晰,维护更少的代码,模型之间的缓冲避免牵一发而动全身
可移植性:
Hiberate在实现ORM功能的时候主要的文件有:映射类,映射文件以及数据库配置文件,他们的作用如下。
- 映射类(*.java):它的作用是描述数据库表的结构,表总的字段在类中描述成属性,把表中的记录映射成该类的对象。
- 映射文件(*.hbm.xml):它的作用是指定数据库表和映射类之间的关系,包括映射类和数据库表的映射关系,表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等
- 数据库配置文件(*.cfg.xml或*.properties):它的作用是指定与数据库连接时需要的连接信息,比如连接哪个数据库,登录用户名,密码以及连接字符串等。
如何解析java类文件:
在java类中有一种机制叫反射机制,使用这种机制我们可以得到类的信息,包括类的修饰符、属性、方法、构造方法、继承的父类、以及实现的借口等等。
- getName():得到类名
- getFiles():类属性
- getMethods():类方法
- getConstructors():类构造方法
- getSuperclass():父类
- getInterfaces():类接口
我们可以首先通过以上方法获取类中的属性名,然后拼写成setXXX和getXXX方法名,最后根据方法名执行对应的方法,将数据库数据加载到对象中。
目前众多厂商和开源社区都提供了持久层框架的实现,常见的有:
Apache OJB ()
Cayenne ()
Jaxor ()
Hibernate ()
iBatis ()
jRelationalFramework ()
mirage ()
SMYLE ()
TopLink ()
其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位
分享到:
相关推荐
django ORM机制的概念及方法总结
映射的基本原理 和以及代码的详细解释 希望大家多多指正 本人是刚用这个BLOG 希望大家多多碰藏
结合hibernate DAO示例Orm机制
使用iBATIS提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而iBATIS则要求开发者编写具体的...
本类库的目标用户是使用C#开发基于数据库的.NET程序的开发者,旨在简化对常用数据库的CRUD操作,同时提供了一种简化的ORM机制,使基于本类库开发的程序具有更好的可扩展性和可维护性。 本类库默认SQLServer数据库,...
使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...
工具简介:自己实现的简单的ORM工具,使用到的技术:JDBC+java反射机制。 简单的文档:rar解压后,DOC目录下:K-ORM.DOC
NULL 博文链接:https://jarg.iteye.com/blog/1155035
Java反射机制在数据持久层轻量级ORM框架中的应用研究.pdf
简单通过反射实现orm,例子需要自己从nuget下载sqlite才能正常运行。闲来无事探寻c#反射机制
使用动态代理,反射实现模拟实现ORM。使用数据库为MySQL5.0,开发环境为windows 10,Myeclipse10.6
orm框架的底层实现机制共.pdform框架的底层实现机制共.pdform框架的底层实现机制共.pdform框架的底层实现机制共.pdform框架的底层实现机制共.pdf
使用ibatis 提供的ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...
本人开发基于C# Attribute 声明式的ORM 框架,自带Sqlite数据库的一个测试例子。 本框架的特点: 1. 无XML配置,基于Attribute的配置方式 2. 可自定义mapping的约定,只需在Model类定义Entity,按约定映射对应的表及...
利用Java反射和注解实现自定义的ORM,并提供相应的工具类自动生成CRUD的SQL语句,同时定义了完整的异常处理机制
介绍了iBatis SQL Map建立ORM机制的原理和特点,结合某物流系统的开发,给出了SQL Map建立ORM的主要内容,包括映射关系、SQL Map配置文件和SQL Map API等.实践表明,iBatis SQL Map的ORM实现技术非常方便、灵活,并较好地...
MongoDB Plugin可能java上最好用而且实时跟进官方版本的ORM,让您更加舒适地使用MongoDB。 与MongoDB版本基本同步(基于最新3.4.0) 使用方式更像是自然语言,用起来更舒适 几乎没有任何学习成本 支持MongoDB...
在ORM部分,使用了动态代码生成和即时编译,以及对DataSet进行了扩展;在AOP部分,使用了Proxy机制;在Service Locator部分,使用的主要技术也是动态代码生成和即时编译。 针对Websharp,UML软件工程组织提供一系列的...
•支持面向对象,零SQL操作数据库 •支持模拟器版本和真机版本 •支持自定义SQL扩展 •支持1级缓存,万级数据可达到百倍速度获取 •支持c中基础类型映射,推荐使用NSNumber...•支持事务处理机制 •支持批量插入和更新
Java反射机制在数据持久层轻量级ORM框架中的应用研究