什么是ORM
文章摘自网络: https://www.cnblogs.com/weibanggang/p/10167006.html https://blog.csdn.net/sinat_37976731/article/details/80504148 一、ORM简介ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 用于实现面向对象编程语言里不同类型系统的数据之间的转换。
没有ORM时我们是这样完成对象与关系数据库之间的映射的: //将执行的sql String sql = "SELECT name,id,age,password FROM users"; //创建命令对象 preparedStatement = connection.prepareStatement(sql); //执行并获得结果集 resultSet = preparedStatement.executeQuery(); //遍历结果集,将数据库中的数据转换成Java中的对象 while(resultSet.next()){ String name = resultSet.getString("name"); int id = resultSet.getInt("id"); int age = resultSet.getInt("age"); String password = resultSet.getString("password"); User entity= new User(name,password); Users.add(entity); } 这种方案存在以下不足:
二、ORM(O/R Mapping:对象关系映射):
三、ORM的方法论基于三个核心原则:·简单:以最基本的形式建模数据。 · 传达性:数据库结构被任何人都能理解的语言文档化。 · 精确性:基于数据模型创建正确标准化了的结构。 四、Java典型的ORM中有:hibernate:全自动的框架,强大、复杂、笨重、学习成本较高。 (Hibernate 是一个开放源代码的 O/R Mapping 框架(中间件),他对JDBC进行了轻量级的封装,使Java程序员可以随心所欲地使用面向对象编程思维来操纵数据库。) Mybatis:半自动的框架(懂数据库的人 才能操作) 必须要自己写sql。 (iBATIS也是开放源代码的O/R Mapping框架,但这是一种“半自动化”的ORM实现。所谓“半自动”,iBATIS以SQL开发的工作量和数据库移植性方面的让步,为系统设计提供了更大的自由空间。) JPA:JPA全称Java Persistence API、JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,是Java自带的框架 ( Java Persistence API,JPA是JCP组织发布的Java EE 标准之一; JPA通过从JDK5.0开始的Annotation(注解)或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 从功能上来说,JPA现在就是Hibernate功能的一个子集。Hibernate从3.2开始,就开始兼容JPA。 JPA中支持大数据集、事务、并发等容器级事务,这使得JPA超越了简单持久化框架的局限,在企业应用中发挥更大的作用。) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |