Hibernate学习笔记<一> 初步认识Hibernate

一、为什么需要hibernate

  • 故事1

小明长大了,打算出国旅游,想周游世界,小明想先去德国,但是小明不会德语,于是小明通过一年的努力,终于学会了德语,然后小明去德国旅游了一圈,充分的感受到了德国的文化风情。回来之后,小明又想去埃及了,但是小明又不会埃及语言,于是小明只能再花一年时间学习埃及语言了。。。。后来小明发现,这样实在是行不通,因为小明还有好多国家想去,这个时候有人出主意,给小明找个特别牛逼的翻译,这个翻译会全世界所有的语言,小明见到翻译之后非常高兴,从此周游世界畅通无阻了。

  • 故事2

客户马大凡:小刘,你们上次给我公司开发悠悠办公系统用的是sql
2000吧,我现在要用mysql 数据库,给换一下吧。

经理刘一手: 可以呀,不过换数据库很费时间,我们要重写业务层,
给加10w元吧!

客户马大凡:要吃人呀,我告你去。

故事就简单讲到这里,故事二中的矛盾,如果经理刘一手在刚开始使用Hibernate框架进行开发,那么在客户要求更换不同的数据库(相当于故事一,小明要去一个新的国家旅游),就不需要那么费劲了,使用hibernate框架可以很好的解决。

示意图

二、hibernate是什么

1.hibernate 是一个框架(framework)

2.hibernate 是一个orm框架

  • ORM是什么?

对象关系映射(Object Relation Mapping,简称ORM)是一种
为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,
将java程序中的对象自动持久化到关系数据库中。本质上就是将数
据从一种形式转换到另外一种形式。使用orm技术(hibernate是其
中最为流行的)可以在java程序以类和对象的方式去操控数据库表和记录.

orm (object relation mapping) 对象关系映射 框架
o object -> 业务层(只对对象操作)
r relation-> 关系数据库
m mapping 对象关系映射文件

3.hibernate 处于我们项目的持久层位置(正因为如此,所以有人又把hibernate称为 持久层框架)

4.hibernate 实际上就是对jdbc进行了轻量级的封装.

5.hibernate 的基础还是我们java 反射机制,列举一些和hiberante类似的orm框:

apache ojb / toplink / ibatis / ejb cmp
Apache OJB ()
Cayenne ()
Jaxor ()
Hibernate ()
iBatis ()
jRelationalFramework ()
mirage ()
SMYLE ()
TopLink ()

把对象持久化: 把对象的信息保存到数据库或者是文件.

总结: hibernate 是对jdbc进行轻量级封装的 orm 框架,充当项目的持久层.

三、使用hibernate的好处

①引入hibernate可以使工作人员角色细化,让程序员更关心业务流
程。让数据库人员关注数据库相关的各种操作。

②分层更清晰,耦合性更小。

③通用性强:可以更轻松的从一个数据库平台转移到别的平台。

④对象化:把关系数据库变成了Java的对象,更加方便操作。

⑤性能保证:hibernate可能按不同的数据库,处理不同的操作是用
最优化的SQL语句,不用我们去想,对于分等算法,在hibernate中会显
得更简单,可靠。

⑥增加了程序的鲁棒性!

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值