什么是 对象/关系 映射集成模块

什么是 对象/关系 映射

对象关系映射,简单讲就是Java对象 Object 和关系型数据库 Relationship 之间的映射Mapping, 即ORM。

为什么要使用ORM?

因为面向对象的概念,使得操作关系型数据库也可以用操作对象那样处理。操作关系型数据库,就像操作Java对象一样,更容易以面向对象的方式理解。
它赋予我们一个强大的功能,就是可以用面向对象的思维来操作数据库,不用再和SQL语句打交道了。

ORM框架

常见的ORM框架有:Hibernate、iBatis 等
【持久化框架】Mybatis与Hibernate的详细对比
Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL的自动生成和执行。
Mybatis:主要着力点在于 POJO 与 SQL 之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO 。相对Hibernate“O/R”而言,Mybatis 是一种“Sql Mapping”的ORM实现。
Hibernate优势
Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。
Mybatis优势
MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
MyBatis容易掌握,而Hibernate门槛较高。
一句话总结
Mybatis:小巧、方便、高效、简单、直接、半自动化
Hibernate:强大、方便、高效、复杂、间接、全自动化

ORM实现原理

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

猜你喜欢

转载自blog.csdn.net/GeekLeee/article/details/89473938