Hibernate入门

来源:互联网 发布:淘宝卖家id是什么 编辑:程序博客网 时间:2024/05/02 00:43

    上班一个多月以来由于公司变动原因,所以都没真正的事情做,但自己也不是一个能过闲日子的人,在这段时间恶补了一下Java web开源框架,花了一个月的时间学习了struts,最近一直在看Hibernate.

     Hibernate是一个Java持久化框架,在web开发中所谓持久化就是把从web层得到的数据放到一个可以长期保存的地方(一般通常是数据库),要用的时候在从里面取出来。以前用Jsp+Servlet+JavaBean开发项目的时候,根本不知道持久化是什么东西,就算知道也就是一些很模糊的概念。保存数据的做法是把web层得到的数据放到JavaBean中,然后再调用连接数据库的模块把JavaBean中的数据加载到数据库中。取数据的方法就把以上顺序颠倒过来。其实这个过程就是一个数据持久化的过程,只不过是直接使用JDBC进行。用JDBC进行数据持久化是很简单的,我所谓的简单是指很容易想到,一般用Jsp+Servlet+JavaBean做web项目都会这样做持久化,但这样做有很多的缺点。其一,这样做把业务逻辑代码和数据库操作代码混合在一起,这样降低的代码的可读性和维护性;其二,这样做有很多相同的代码要重复写,这样没有体现面向对象思想的可重用性。而Hibernate就解决了以上这些问题。

    Hibernate是一个基于ORM的原理的框架,要理解Hibernate关键就是理解ORM思想。ORM是Object Relation Mapping的缩写,中文就是对象关系映射,Hibernate的作用就是把对象和关系数据库连接起来的一个中间件,它把面向对象编程中的核心----类,对象,属性和关系数据库中的核心----表,记录,字段一一对应起来,这样让面向对象的程序员可以用面向对象的思想来操作关系数据库,这个特点的体现就是Hibernate用自定义的HQL(Hibernate Query Language)来代替SQL语言,而HQL是面向对象的。Hibernate还有一个特点就是它把以前三层web结构中的逻辑层又进行了划分,在逻辑层和数据库之间又加了一个持久化层,这样就把业务逻辑操作和数据库操作操作分开了,这样就提到了代码的可读性和维护性。在实际编程过程中,这种做法让人感觉层次感很强,条例和逻辑都很清楚,这样如果出现debug错误,也能很快定位到错误发生在哪一个层。

   以上就是我对Hibernate的理解,Hibernate是一个实现ORM思想的优秀框架。
 

原创粉丝点击