hibernate技术课程讲解ppt课件_第1页
hibernate技术课程讲解ppt课件_第2页
hibernate技术课程讲解ppt课件_第3页
hibernate技术课程讲解ppt课件_第4页
hibernate技术课程讲解ppt课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NAME XIFULONG西安软件服务外包学院西安软件服务外包学院课程目标:课程目标:使学员掌握并熟练使用框架进行企业项目开发使学员掌握并熟练使用框架进行企业项目开发学员要求:学员要求:1).学员必须具备学员必须具备JDBC与数据库知识与数据库知识2).学员具备学员具备java基础知识基础知识3).学员具备学员具备jsp/servlet知识知识NAME XIFULONG西安软件服务外包学院西安软件服务外包学院 第一章第一章 hibernate框架编程准备知识讲框架编程准备知识讲解解1.什么是什么是hibernate2.为什么需要为什么需要hibernate3.在在myeclipse中手动搭建中

2、手动搭建hibernate开发环境开发环境4.使用使用hibernate对数据库进行增删改查操作对数据库进行增删改查操作5.使用使用myeclipse的集成环境搭建的集成环境搭建hibernate开发环境开发环境6.hibernate的体系结构概述的体系结构概述NAME XIFULONG西安软件服务外包学院西安软件服务外包学院1.什么是什么是hibernate:hibernate(冬眠冬眠):是访问数据库的一个持久层框架,:是访问数据库的一个持久层框架,也是一组类相互工作的类的集合,主要是用来对数据也是一组类相互工作的类的集合,主要是用来对数据进行进行(curd)操作,它的底层封装了操作,它的

3、底层封装了JDBC并且扩展了并且扩展了JDBC一些功能;从分层角度来说一些功能;从分层角度来说hibernate位于数据位于数据访问层访问层(DAO),hibernate中数据访问层称为数据持久中数据访问层称为数据持久化。化。NAME XIFULONG西安软件服务外包学院西安软件服务外包学院2.为什么需要为什么需要hibernate:1)使用使用hibernate使我们的编程思维更加的使我们的编程思维更加的OO,其中,其中会使程序员养成会使程序员养成OOA思想,思想,OOP思想,思想,OOD思想。思想。2)提高生产力,使程序员不再编写重复的提高生产力,使程序员不再编写重复的JDBC代码,代码,

4、把主要的经历思考在用来实现业务方法上。把主要的经历思考在用来实现业务方法上。3)对象关系映射框架除了对象关系映射框架除了hibernate之外还有其它的类之外还有其它的类似框架,例如:似框架,例如:Toplink JDOOJBIbatis相关资料可上网查看并相关资料可上网查看并(参见参见spring的官方文档第一章的官方文档第一章spring概览概览)的的ORM模块。模块。NAME XIFULONG西安软件服务外包学院西安软件服务外包学院3.在在myeclipse中手动搭建中手动搭建hibernate开发环境开发环境1)hibernate框架环境搭建步骤:框架环境搭建步骤: (1).拷贝拷贝H

5、ibernatehibernate-3.2.0.gahibernate- 3.2hiberante3.jar核心核心jar包到我们包到我们web工程地下的工程地下的lib目录。目录。 (2).拷贝拷贝Hibernatehibernate-3.2.0.gahibernate-3.2lib目录底下的所有目录底下的所有jar包到我们的包到我们的lib目录底下。目录底下。 (3).拷贝拷贝Hibernatehibernate-3.2.0.gahibernate-3.2etc目录下的目录下的hibernate.cfg.xml文件到我们工程的文件到我们工程的src目录下。目录下。 (4).拷贝拷贝Hibe

6、rnatehibernate-3.2.0.gahibernate-3.2egorghibernateauction目录下的类的映射文件到目录下的类的映射文件到和自己定义的类的同级目录下。和自己定义的类的同级目录下。(注意别忘了拷贝不注意别忘了拷贝不同数据库的驱动同数据库的驱动)(5).分别改写分别改写hibernate.cfg.xml文件和类映射文件。文件和类映射文件。NAME XIFULONG西安软件服务外包学院西安软件服务外包学院2).改写改写hibernate链接数据库链接数据库hibernate.cfg.xml配置文件的信息配置文件的信息org.hibernate.dialect.My

7、SQLDialectcom.mysql.jdbc.Driverjdbc:mysql127.0.0.1/hibernaterootrootNAME XIFULONG西安软件服务外包学院西安软件服务外包学院3).改写持久化类映射文件的配置信息改写持久化类映射文件的配置信息NAME XIFULONG西安软件服务外包学院西安软件服务外包学院4).利用利用hibernate类工具类生成库表如下:类工具类生成库表如下:/获得数据库的链接获得数据库的链接ConnectionConfiguration cfg=new Configuration().configure();/解析解析configure()方法

8、源代码如下方法源代码如下;public Configuration configure() throws HibernateException configure( /hibernate.cfg.xml );return this;/hibernate中中SchemaExport是是hibernate提供的工具类提供的工具类/主要是用来生产主要是用来生产DDL语言语言SchemaExport export=new SchemaExport(cfg);export.create(true, true);NAME XIFULONG西安软件服务外包学院西安软件服务外包学院4.使用使用hibernat

9、e对数据库进行增删改查操作对数据库进行增删改查操作 获得数据库的链接获得数据库的链接 Configuration cfg=new Configuration().configure(); SessionFactory是是hibernate生成操作数据库的内存镜像,是生成操作数据库的内存镜像,是session对象的生产者对象的生产者,我们要我们要获得获得session必须通过它获得。必须通过它获得。 SessionFactory sessionFactory=cfg.buildSessionFactory(); session是是hibernate给我们提供的操作数据库的方法的一个接口给我们提供

10、的操作数据库的方法的一个接口,session接口是介于接口是介于Connectioin,TransAction; Session session=sessionFactory.openSession();Hibernate的的Session当中就有我们操作数据库的方法,如下:当中就有我们操作数据库的方法,如下:/存储一个对象存储一个对象(持久化一个对象持久化一个对象)public Serializable save(Object object) throws HibernateException;/对象进行修改操作对象进行修改操作public void update(Object object

11、) throws HibernateException;/对象进行删除操作对象进行删除操作public void delete(Object object) throws HibernateException;/支持支持HQL查询语言查询语言public Query createQuery(String queryString) throws HibernateException;/支持支持sql查询查询public SQLQuery createSQLQuery(String queryString) throws HibernateException; NAME XIFULONG西安软件服

12、务外包学院西安软件服务外包学院Query query=session.createQuery(HQL)Query是是hibernate给我们提供的查询接口。给我们提供的查询接口。一下为接口中常用的方法:一下为接口中常用的方法:1).public Object uniqueResult() throws HibernateException;返回一条记录数的方法。返回一条记录数的方法。2). public List list() throws HibernateException;通过循环查通过循环查询集合数据的方法。询集合数据的方法。3). public Iterator iterate()

13、throws HibernateException通过迭通过迭代器迭代集合中的数据。代器迭代集合中的数据。4). public Query setMaxResults(int maxResults);返回数据库返回数据库中的最大记录数中的最大记录数(为分页的每页显示最大记录数为分页的每页显示最大记录数)。5). public Query setFirstResult(int firstResult);返回数据库中返回数据库中的第一条记录参数为从的第一条记录参数为从0开始开始(为分页的起始记录数为分页的起始记录数)。NAME XIFULONG西安软件服务外包学院西安软件服务外包学院5.使用使用m

14、yeclipse的集成环境搭建的集成环境搭建hibernate开发环境开发环境NAME XIFULONG西安软件服务外包学院西安软件服务外包学院6.hibernate的体系结构概述的体系结构概述参见参见hibernate的官方文档第二章的官方文档第二章(hibernate的体系结的体系结构构)NAME XIFULONG西安软件服务外包学院西安软件服务外包学院总结总结NAME XIFULONG西安软件服务外包学院西安软件服务外包学院第二章第二章 hibernate对象关系映射对象关系映射(ORM)讲解讲解1.Hibernate中对象关系映射常用标签讲解中对象关系映射常用标签讲解2.使用使用hib

15、ernate操作数据库操作数据库3.Hibernate的的O/Rmapping理解理解NAME XIFULONG西安软件服务外包学院西安软件服务外包学院1.Hibernate中对象关系映射常用标签讲解中对象关系映射常用标签讲解NAME XIFULONG西安软件服务外包学院西安软件服务外包学院对象标识对象标识ID标签的生成策略讲解:标签的生成策略讲解:常用的主键增长策略:常用的主键增长策略:native增长方式:根据本地数据库所支持的增长方式增长方式:根据本地数据库所支持的增长方式进行增长,由底层数据库来匹配。进行增长,由底层数据库来匹配。increment:主要是由支持这种增长方式的数据库来决

16、主要是由支持这种增长方式的数据库来决定的,定的,mysql数据库就是支持本增长方式,数据库就是支持本增长方式,identity:主要是由支持这种增长方式的数据库来决定主要是由支持这种增长方式的数据库来决定的的,mysql等。等。uuid:由由hibernate自己生成,自己生成,(注意:对象的标识类型注意:对象的标识类型必须是字符串必须是字符串)。assigned:指派,由程序员来自己生成主键的增长方式指派,由程序员来自己生成主键的增长方式sequence:主要是由支持这种增长方式的数据库来决主要是由支持这种增长方式的数据库来决定的,定的,oracle数据库。数据库。参见参见hibernate

17、的官方文档对象关系映射的官方文档对象关系映射(O/R)5.1章节。章节。NAME XIFULONG西安软件服务外包学院西安软件服务外包学院2.使用使用hibernate操作数据库操作数据库NAME XIFULONG西安软件服务外包学院西安软件服务外包学院3.Hibernate的的O/Rmapping理解理解NAME XIFULONG西安软件服务外包学院西安软件服务外包学院第三章第三章 hibernate关联关系映射讲解关联关系映射讲解1 Many-to-One单双向单双向; 2 One-to-Many单双向单双向; 3 One-to-One单双向单双向;4 Many-to-Many单双向;单双

18、向;NAME XIFULONG西安软件服务外包学院西安软件服务外包学院1 Many-to-One:标签是标签是hibernate用来描述类的引用关系用来描述类的引用关系,many-to-one标签会在多的一段生成一个外键指向一的一端标签会在多的一段生成一个外键指向一的一端; NAME XIFULONG西安软件服务外包学院西安软件服务外包学院2 One-to-Many单向:单向:1类的写法:类的写法:员工类如下员工类如下public class Employees private int eid;private String eName;public int getEid() return ei

19、d;2类的写法:部门类如下类的写法:部门类如下public class Dept private int did;private String deptName;private Set emps=new HashSet();NAME XIFULONG西安软件服务外包学院西安软件服务外包学院3 )hibernate类的映射文件部门类的写法类的映射文件部门类的写法class name=com.cissst.entity.Dept table=tb_deptNAME XIFULONG西安软件服务外包学院西安软件服务外包学院4)hibernate类的映射文件员工类的写法类的映射文件员工类的写法NAME XIFULONG西安软件服务外包学院西安软件服务外包学院5)双向映射就是多对一和一对多标签的结合使用双向映射就是多对一和一对多标签的结合使用部门类的写法部门类的写法public class Dept private i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论