Hibernate第一个例子(一)

来源:互联网 发布:websocket客户端 php 编辑:程序博客网 时间:2024/04/29 10:16

  这几天在敲SSH网上商城的例子,对于SSH也是什么也不懂的状态,而且刚开始敲需要配置各种环境,估计是水逆,各种不顺,tomcat弄了一下午,mysql一晚上,还是显示不出页面,我也是醉了,索性玩点别的,所以就有了这篇博客,使用Hibernate实现与数据库的交互

Hibernate是什么?

Hibernate是一个对象关系映射框架,它将JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架,hibernate可以自动生成SQL语句,自动执行,是的JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库


  看上边抄自百科的定义,我就小激动呀,尤其最后一句,它可以让程序员随心所欲使用对象编程思维来操纵数据库,我们原来对于数据库的操作,离不开SQL语句,而且SQL语句不是面向对象的语言,有了hibernate,大家就可以解放双手,稍加配置一下就不需要在写select from什么的了,直接把对象交给hibernate,就万事大吉了,所以说他是O/R映射(O代表面向对象,R代表关系)


我们先看一下hibernate的核心API:上美丽的导图

这里写图片描述

1.Configuration:这个类负责管理Hibernate的配置信息,创建SessionFactory的实例

2.SessionFactory:保存了对应当前数据库配置的所有映射关系,并负责创建Session实例

3.Session:是Hibernate持久化操作的基础,提供了和持久化相关的操作,如:保存、删除、更新和查询等操作

4.Transaction:对实际事务实现的一个抽象

5.Query:让你方便地对数据库及持久化对象进行查询:HQL语句和SQL语句

6.Criteria:与5很像,允许创建并执行面向对象的标准化查询。

时序图

这里写图片描述

P.S.发现了一个网站,在线画时序图,可以导出,这是一个手绘的风格,还挺Q的

业务逻辑项目中有一个Student的对象,要把这个对象的信息,存到数据库中Student的表中

如果不用hibernate,那么我们肯定是首先建立JDBC的连接,然后写SQL语句,然后把数据写入数据库,那么Hibernate如何帮我们实现呢?

1.配置Confiuration,需要一个Configuration的对象

2.需要通过SessionFactory帮我们返回一个Session

3.有了Session,就相当于完成了95%,拿到Session,直接将Student的对象传到Session中去(Save(student s)),就OK啦

三个步骤简单程度不亚于把大象放到冰箱里

具体如何实现呢?DEMO见下一篇博客~~

0 0