①Hibernate一个框架。现在的web数据库开发一般基于Hibernate框架。进行基于Hibernate框架的web开发,需要Hibernate框架工具包的支持,myeclipse自带Hibernate框架工具包。
② Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate用来开发数据库web编程,将java中的对象和对象之间的关系 -----》映射到数据库的表和表之间的关系。起到java应用和数据库之间的桥梁的作用。
现在,越来越多的数据库开发采用在数据库上添加Hibernate面向对象处理层。将数据库中的表定义为一个个的实体类。
③Hibernate项目有一个配置文件hibernate.cfg.xml,它包括一些配置信息,如数据库的jdbc链接,服务器链接地址,用户名等信息和映射实体类配置文件等。
④Hibernate项目
通过session对象操作数据库(如查询、插入等),类似于jdbc中的Connection对象。
session对象的获取(创建)和释放通过sessionfactory对象来控制,类似于connettion对象的创建和释放。一个项目有一个sessionfactinoy对象(类)就可以。
session对象操作数据库,需要从hibernate.cfg.xml中获取数据库连接配置参数,所以session对象要能访问到hibenate.cfg.xml。
⑤Hibernate对数据库表的常用操作,映射到实体类的属性和方法的直接操作。实体类<------->映射文件(*.hbm.xml)<------->数据库表
⑥web项目添加hibernate支持
第一步:项目添加Hibernate支持,4个页面,1:添加hibernate支持,2:hibenate配置文件路径3:配置数据库连接信息(此处不配置,到第三步单独配置)4:创建sessionfactory类,及其存放路径
第二步:为项目建立一个数据库连接配置,即在“DB Brower”中建立一个数据库连接配置,如名称"lianjieshujuku"。(和第一步并列,不分先后顺序。即使不使用hibernatre框架,也要建立数据库链接配置)
第三步:为Hibernate绑定数据库连接配置(第二步建立的),打开hibernate编辑器,填入第二部建立的链接配置"lianjiepeizhi“
即:数据链接信息保存在hibernate.cfg.xml配置文件中,sessionfactory类包含有con_file_location配置文件路径(hibernate.cfg.xml路径)因此可以连接数据库,sessionfactory类可以创建session类(对象)用来操作数据库。
第四步:创建实体类(同时也创建对应的DAO类),创建数据库表--------对应实体类----以及映射文件,另一种说法:创建数据库表对应的实体类+同时也创建了对应的DAO类。
关键:实体类和数据库表的关联是通过映射文件,映射文件时自动创建的,不用关它,可以理解为创建数据库表对应的实体类。实体类通过自己属性和方法对数据库进行访问和操作。hibernate项目对数据库的操作都是通过这个实体类来进行。
实体类:即为映射文件和表生成的持久化数据实体类。-----------可以为实体类生成一个abstract类型的父类,隔离数据表字段和其它字段。
引入Abstract类目的: 如user表:AbstractUser实体类只关注对数据库表字段的处理;User实体类只关注非数据库部分数据的处理和业务逻辑方面的处理。
DAO类 :然而通常在实体类之上建立对实例类访问的DAO类。 对实体类的数据库操作都通过这个DAO类来进行 实体类之上------》DAO类
引入DAO层的目的:为了将底层对数据的访问与高层的业务逻辑处理分离开。
UserDAOl类:通过第4步建立实体类之后,userdao类包含多个方法,如delete()、save()方法分别调用session的delete()和save()方法,在数据库表user中删除和插入一个user对象。(一条记录就是一个user对象)
第五步:建立DAOFactory类和IUserDAO接口这两个类。
user DAO实现类<------IuserDao接口<--------上层业务逻辑层userserver
IuserDao接口目的: user DAO实现类 改变了,而接口不变,则业务逻辑层userserver不需要做任何修改。类似程序接口
详细开发步骤:
1.建立web工程 (new---》myeclipse-----》myeclipse----j2ee projects----->webproject)
2将工程增加hibernate支持(右键---》myeclipse---》add hibernate。第一步建立hibernate.cfg.xml配置文件,第三步建立Hibernatesessionfactory。)
3.建立数据库连接(事先建立一个TestDBsql数据库,点击--window-->show view----->other---myeclipse enterprise---->db browers。点击dbbrowers的new图标,profilename填入连接名称,driver要注册一个。点击new ,drivername随便输入一个名称,connetion url 输入jdbc:mysql://localhost:3306/TestDB,并添加addJARs)
4.创建数据库表对应的实体类和映射文件。第一页面,全部复选上,第二页跨过去,第三页面classname为空(自动生成),id generator为native