Java开发必看ORM概念大全

一、ORM概念

对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。

二、简述ORM

ORM(Object Relational Mapping)对象关系映射、使用对象操作数据库的设计思想。
在操作数据库之前,先把数据表与实体类关联起来。然后通过实体类的对象操作(增删改查)数据库表,这个就是ORM的行为!

三、ORM的作用

在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。

四、ORM的原理

Java中ORM的原理: 先说ORM的实现原理,其实,要实现JavaBean的属性到数据库表的字段的映射,任何ORM框架不外乎是读某个配置文件把JavaBean的属 性和数据库表的字段自动关联起来,当从数据库Query时,自动把字段的值塞进JavaBean的对应属性里,当做INSERT或UPDATE时,自动把 JavaBean的属性值绑定到SQL语句中。

五、常用的Java ORM框架

  1. Hiberante 面向对象的ORM,学习成本比较高
  2. Mybatis 半自动orm框架,需要自己写sql, 方便sql与java代码分离
  3. Bee, 一个新的ORM框架, 同时具体Hiberante和Mybatis的优点。既可像Hibernate一样通过操作对象来操作数据库,也可以像Mybatis一样灵活写sql

六、持久化是什么?

ORM概念中提到了一个知识点:对象自动持久化到关系数据库中,那我们就来消化一下持久化
狭义的理解:持久化 仅仅指把域对象永久保存到数据库中;广义的理解:持久化 包括和数据库相关的各种操作(如CRUD)。
总结:持久化就是把数据同步保存到数据库或某些存储设备中。

七、为什么要持久化?

  1. 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;
  2. 代码重用性高,能够完成大部分数据库操作;
  3. 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

八、ORM的缺点

  1. 关系-对象映射的实现是以性能为代价,方便了开发,牺牲了效率。
  2. 对于复杂的SQL有心无力。
  3. 无法完全屏蔽数据库底层细节,开发人员仍然要熟悉数据库底层操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章