【Mybatis专题】(1)ORM

来源:互联网 发布:淘宝代购服装是真的吗 编辑:程序博客网 时间:2024/06/05 05:42

ORM


简介

【一句话说明】对象关系映射(Object Relational Mapping,简称ORM),将关系数据库中的记录映射为Java中的对象。

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

ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

ORM提供了实现持久化层的另一种模式,它采用映射元数据来描述对象关系的映射,使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。Java典型的ORM中间件有:Hibernate,Mybatis,speedframework。

优缺点&使用建议

优缺点总结 by 求知老田,个人觉得很好,直接引用
http://www.cnblogs.com/wrcyl/p/5845147.html

优点:

  1. 让程序员不再关注数据库细节,专心在业务逻辑上,程序员可以不懂数据库就可以开发系统。
  2. 让数据库迁移变的非常方便,如果系统需要更改使用的数据库,直接改配制就好了,不要再管不同数据库之间的语法差异。
  3. 省时,可快速开发,因为不需要自己写复杂的SQL语句,不需要封装复杂的数据底层,这样可以节省很多时间。

缺点:

  1. 我觉得不懂数据库的程序员不是好程序员,ORM不能帮你生成所有的业务语句,有些复杂的生成不了,还是需要写SQL,例如复杂的报表。
  2. 配制过于繁琐,出错后不好定位问题点在哪。
  3. 性能低,因为它内部是使用了大量反射,还有数据库检测,造成性能必然低下。
  4. 需要额外的学习成本,虽然不需要学习数据库,但是需要学习ORM语句。
  5. 容易引起不规范开发,因为ORM可以在任何地方写ORM语句然后调用开发,这样对于初始程序员来说他们很可能在系统的任何地方乱丢ORM语句,这样给维护带来了很大的难度。

缺点简述:(1)不太容易处理复杂查询语句(2)性能较直接用SQL差

参考文章

仅列举了部分近期的优秀参考文章

http://www.cnblogs.com/wgbs25673578/p/5140482.html
http://www.cnblogs.com/wrcyl/p/5845147.html

原创粉丝点击