浅析java程序中hibernate的应用总结(图)

  次阅读 作者:智能小宝 来源:互联网 2016-01-26 10:11 我要评论(0)

hibernate可以理解为是一个中间件它负责把java程序 的sql语句接收过来发送到数据库,而数据库返回来的信息hibernate接收之后直接生成一个对象传给java

我们知道如果用java连接数据库,大量的SQL代码,我们就想通过一种工具来操作数据库,

我们首先想到的就是JDBC,但是想更好的针对类的属性进行操作,我们会选择Hibernate。

那么Hibernate 原理是什么呢?

hibernate可以理解为是一个中间件它负责把java程序的sql语句接收过来发送到数据库,

而数据库返回来的信息hibernate接收之后直接生成一个对象传给java。

一首先我们先了解一下hibernate的工作7个流程:

1.读取并解析配置文件

2.创建SessionFactory

3.打开Session

4.开始一个事物

5.持久化操作

6.提交事务

7.关闭Session

二 接着我们要理解实体对象的生命周期是Hibernate 的三种状态

瞬时状态(Transient)

刚用new语句创建,还没有被持久化,且不处于Session的缓存中

持久状态(Persistent)

已经被持久化,且加入到Session的缓存中

游离状态(Detached)

已经被持久化,但不再处于Session的缓存中

三持久化和ORM也是Hibernate中需要理解的一部分。

持久化:数据模型(内存)《--》存储模型(持久化设备),在Java中说持久化,通常指的是使用SQL将数据存储在关系型数据库中。

ORM是持久化的一种解决方案,主要是把对象模型和关系型数据库关系模型映射起来,并且使用元数据对这些映射进行描述。

Hibernate中必须要搭建项目框架编写hibernate配置文件、实体映射文件

创建项目并导入jar包

创建Hibernate配置文件

用于配置数据库连接

运行时所需的各种属性

默认文件名为 hibernate.cfg.xml

测试连接

使用Hibernate完成数据增删改操作

1.创建实体类

2.创建和配置映射文件

3.主键映射

4.主键生成策略

5.在主配置文件中添加实体映射文件路径

6.数据库操作

7.单表增删改查

四 Hibernate 支持两种主要的查询方式

(1)HQL(Hibernate Query Languge,Hibernate 查询语言)查询

是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念

HQL 是应用较为广泛的方式。

(2) Criteria 查询

又称为 对象查询 ,它用面向对象的方式将构造查询的过程做了封装。

五 在运用Hibernate时,我们应该注意一些事情

(1)Hibernate是如何延迟加载?

1.Hibernate延迟加载实现:a)实体对象 b)集合(Collection)

2.Hibernate3提供了属性的延迟加载功能

当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内 存开销,从而提高了服务器的性能。

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...