理解Hibernate

在往常的WEB开发中,常用的连接数据库的两种方法是使用DriverManager或者配置JDBC数据源。传统步骤为:1.加载数据库驱动,获得数据源。2.创建数据库连接,获得connection对象。3.创建Statement对象,或者PreparedStatement对象。4.执行executeQuery方法获得ResultSet对象,或者执行executeUpdate方法。5.根据ResultSet显示结果。6.反序关闭打开的资源。从以往的经验看,这种方式无异是业务逻辑和数据库处理逻辑耦合在一起,一碗面条的。

Hibernate是开源的对象关系映射框架,他使得程序员可以使用面向对象编程思想对数据库进行操作。可以使用在任何使用JDBC的场合。

如何理解持久化,所谓持久化其实是把内存中数据存储到数据库中。持久层就是为了这个功能而生的,它介于逻辑层和数据库之间,封装了数据库访问细节。使用这种持久化需要建立类对象的属性和数据库表的列之间的影射,这种影射就是ORM(Object-Relation Mapping)。

使用Hibernate框架开发web的基本步骤:

1.新建web项目,添加Hibernate支持,添加数据库驱动文件。2.配置hibernate.cfg.xml建立数据库连接信息。3.创建持久化对象(标准JavaBean,每个属性都具有getter和setter方法)该方法要求有无参数构造方法。4.创建*.hbm.xml该配置用来建立数据库表和持久化类之间的映射关系,即建立ORM关系。5.创建SessionFactory,用session来操作数据库。6.创建DAO,用封装数据库访问。

切换到MyEClipseHibernate视图后,在某数据库表上建立Hibernate反向工程,所建立的文件如图所示:

理解Hibernate_第1张图片

其中Test.hbm.xml建立了ORM关系。TestDAO是为Test表建立的DAO操作对象,他的代码结构如图所示,明显看出所有具体操作都是交给他来实现的。Test是TestDAO操作的具体POJO类。TestDAO继承自BaseHibernateDAO,而BaseHibernateDAO实现了接口IBaseHibernateDAO中定义的方法getSession。这个方法调用HibernateSessionFactory中的具体实现来建立数据库会话。如果在建立过程中不选择建立DAO对象,那么以上文件结构中的DAO就不存在了,那么数据操作就需要用户自己实现了。

理解Hibernate_第2张图片

参考文献

1.Hibernate的简单使用http://blog.csdn.net/gongqingkui/article/details/8001832

你可能感兴趣的:(DAO,Hibernate,数据库,jdbc,web开发,getter)