什么是ORM?

什么是ORM?,第1张

ORM是对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的--“虚拟对象数据库”。

(ORM is Object Relational Mapping (ORM, or O/RM, or O/R Mapping), a programming technique used to transform data between different types of systems in an object-oriented programming language. In effect, it creates a "virtual object database" that can be used in a programming language.)

拓展资料

ORM的由来:面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生。

参考资料:百度百科《ORM》

ORM---对象关系映射模型,是Hibernate的核心模型。

它指的是在单个组件内负责所有实体域对象的持久化,封装数据访问的细节。简单的说是实现三层模式中业务逻辑与数据访问的分离。

一般的,对数据库的 *** 作是通过JDBC实现的:举例看下:

public void delete(Object o)

{

Connection con = null

PreparedStatement stmt = null

try{

con = getConnection()

if(o.getID != null ){

stmt = con.preparedStatement("DELETE FROM user where" +"id=""123456")

stmt.setID(0,o.getId())

stmt.executeUpdate()

con.commit()

}

catch(Exception e)

{

e.printStackTrace()

}

}

}

我们可以从上面的代码中发现,数据访问语句(SQL)与业务逻辑处理混在一起了。有经验的人会知道,这样对开发维护都造成很大影响。

可是,有人会说,将那些数据访问的代码封装在一个类中,提供API不就可以解决问题了。

但是问题不是那么简单,尽管将那些访问 *** 作的实现都封装在一起了,但是同意会遇到一些问题,封装类中会充满很多相类似的方法,比如CURD等 *** 作都需要查询,每个方法都要写入查询的语句会使得程序看起来相当臃肿。而且主要问题还是没有得到很好的解决――――持久化层的同时又与关系模型和域模型耦合了,而且咋看之下还显得缺乏d性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6725445.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存