发表于: 2017-12-04 23:05:01

0 689


【今日完成】

1.背景介绍

 

先介绍下背景

Hibernate是什么?

Hibernate,翻译过来是冬眠的意思,正好现在已经进入秋季,世间万物开始准备冬眠了。其实对于对象来说就是持久化。


ORM,即Object-Relational Mapping,它的作用就是在关系型数据库和对象之间做了一个映射。从对象(Object)映射到关系(Relation),再从关系映射到对象。这样,我们在操作数据库的时候,不需要再去和复杂SQL打交道,只要像操作对象一样操作它就可以了(把关系数据库的字段在内存中映射成对象的属性)。</p>


Hibernate的产生背景:

大多数应用程序都需要处理数据。Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法。有时候,甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法。手动编写代码来执行这些任务不仅单调乏味、易于出错,而且会占用整个应用程序的很大一部分开发工作量。</p>


Gavin King开发hibernate的动机有两个:发现CMP太烂;赢得对老板的争执。Gavin King当时没有任何用SQL开发数据库的经验,Gavin King开发hibernate的第一件事是去街上买了本SQL基础的书</p>


2.知识剖析


执行流程

Configuration接口:负责配置并启动Hibernate

SessionFactory接口:负责初始化Hibernate

Session接口:负责持久化对象的CRUD操作

Transaction接口:负责事务

Query接口和Criteria接口:负责执行各种数据库查询


3.常见问题


如何操作Hibernate?


    4.解决方案


 来给大家演示一下基本操作


5.编码实战

 

 6.扩展思考

Mybatis同样也是非常流行的ORM框架,主要着力点在于 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门槛较高。



【今日收获】

总算把Hibernate搞完了,开心


返回列表 返回列表
评论

    分享到