ORM是Object Relational Mapping 对象关系映射。简单来说,就是把数据库表和实体类及实体类的属性对应起来,让开发者操作实体类就实现操作数据库表。
ORM(Object Relation Mapping)对象关系映射
思想:将关系数据库中表中的记录映射为对象,以对象的形式展现,可以把对数据库的操作转化为对对象的操作。
采用元数据来描述对象-关系映射细节,元数据通常采用XML格式,存放在专门的对象-关系映射文件中。
ORM框架:为了解决面型对象与关系数据库存在的互不匹配的现象的框架。
当前ORM框架(JAVA)主要有五种:
(1)Hibernate 全自动 需要写hql语句
(2)iBATIS 半自动 自己写sql语句,可操作性强,小巧
(3)mybatis
(4)eclipseLink
(5)JFinal当前ORM框架(net)主要有五种:
Net系列:
NHibernate
- 1
NBear
- 1
Castle ActiveRecord
- 1
iBATIS.NET
- 1
DAAB
- 1
EntitysCodeGenerate
- 1
EntityFormerWork
Linq to sql
PetaPoco
为什么需要ORM
当我们实现一个应用程序时(不使用O/R Mapping),我们可能会写特别多数据访问层的代码,从数据库保存、删除、读取对象信息,而这些代码都是重复的。而使用ORM则会大大减少重复性代码。对象关系映射(Object Relational Mapping,简称ORM),主要实现程序对象到关系数据库数据的映射。
基本关系
ORM的优缺点
优点:
1)提高开发效率,降低开发成本
2)使开发更加对象化
3)可移植
4)可以很方便地引入数据缓存之类的附加功能
缺点:
1)自动化进行关系数据库的映射需要消耗系统性能。其实这里的性能消耗还好啦,一般来说都可以忽略之。
2)在处理多表联查、where条件复杂之类的查询时,ORM的语法会变得复杂。ORM所在的位置
配置对比
Hibernate
Xxx.hbm.xml:它主要是用于描述类与数据库中的表的映射关系;
hibernate.cfg.xml:它是Hibernate框架的核心配置文件。
MyBatis
mybatis-config.xml :mybatis的全局配置文件
xxxMapper.xml:映射文件
类对比
JDBC
(1)DriverManager,用于注册数据库连接
(2)Connection,与数据库连接对象
(3)Statement/PrepareStatement,操作数据库SQL语句的对象
(4)ResultSet,结果集或一张虚拟表
MyBatis
(1)SqlSession对象,
(2)Executor接口,
(3)MappedStatement对象,
(4)ResultHandler对象,