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

下载本文档

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

文档简介

课程目标:使学员掌握并熟练使用框架进行企业项目开发学员要求:1).学员必须具备JDBC与数据库知识2).学员具备java基础知识3).学员具备jsp/servlet知识,第一章hibernate框架编程准备知识讲解,1.什么是hibernate2.为什么需要hibernate3.在myeclipse中手动搭建hibernate开发环境4.使用hibernate对数据库进行增删改查操作5.使用myeclipse的集成环境搭建hibernate开发环境6.hibernate的体系结构概述,1.什么是hibernate:hibernate(冬眠):是访问数据库的一个持久层框架,也是一组类相互工作的类的集合,主要是用来对数据进行(curd)操作,它的底层封装了JDBC并且扩展了JDBC一些功能;从分层角度来说hibernate位于数据访问层(DAO),hibernate中数据访问层称为数据持久化。,2.为什么需要hibernate:1)使用hibernate使我们的编程思维更加的OO,其中会使程序员养成OOA思想,OOP思想,OOD思想。2)提高生产力,使程序员不再编写重复的JDBC代码,把主要的经历思考在用来实现业务方法上。3)对象关系映射框架除了hibernate之外还有其它的类似框架,例如:ToplinkJDOOJBIbatis相关资料可上网查看并(参见spring的官方文档第一章spring概览)的ORM模块。,3.在myeclipse中手动搭建hibernate开发环境1)hibernate框架环境搭建步骤:(1).拷贝Hibernatehibernate-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).拷贝Hibernatehibernate-3.2.0.gahibernate-3.2egorghibernateauction目录下的类的映射文件到和自己定义的类的同级目录下。(注意别忘了拷贝不同数据库的驱动)(5).分别改写hibernate.cfg.xml文件和类映射文件。,2).改写hibernate链接数据库hibernate.cfg.xml配置文件的信息org.hibernate.dialect.MySQLDialectcom.mysql.jdbc.Driverjdbc:mysql://hibernaterootroot,3).改写持久化类映射文件的配置信息,4).利用hibernate类工具类生成库表如下:/获得数据库的链接ConnectionConfigurationcfg=newConfiguration().configure();/解析configure()方法源代码如下;publicConfigurationconfigure()throwsHibernateExceptionconfigure(/hibernate.cfg.xml);returnthis;/hibernate中SchemaExport是hibernate提供的工具类/主要是用来生产DDL语言SchemaExportexport=newSchemaExport(cfg);export.create(true,true);,4.使用hibernate对数据库进行增删改查操作获得数据库的链接Configurationcfg=newConfiguration().configure();SessionFactory是hibernate生成操作数据库的内存镜像,是session对象的生产者,我们要获得session必须通过它获得。SessionFactorysessionFactory=cfg.buildSessionFactory();session是hibernate给我们提供的操作数据库的方法的一个接口,session接口是介于Connectioin,TransAction;Sessionsession=sessionFactory.openSession();Hibernate的Session当中就有我们操作数据库的方法,如下:/存储一个对象(持久化一个对象)publicSerializablesave(Objectobject)throwsHibernateException;/对象进行修改操作publicvoidupdate(Objectobject)throwsHibernateException;/对象进行删除操作publicvoiddelete(Objectobject)throwsHibernateException;/支持HQL查询语言publicQuerycreateQuery(StringqueryString)throwsHibernateException;/支持sql查询publicSQLQuerycreateSQLQuery(StringqueryString)throwsHibernateException;,Queryquery=session.createQuery(HQL)Query是hibernate给我们提供的查询接口。一下为接口中常用的方法:1).publicObjectuniqueResult()throwsHibernateException;返回一条记录数的方法。2).publicListlist()throwsHibernateException;通过循环查询集合数据的方法。3).publicIteratoriterate()throwsHibernateException通过迭代器迭代集合中的数据。4).publicQuerysetMaxResults(intmaxResults);返回数据库中的最大记录数(为分页的每页显示最大记录数)。5).publicQuerysetFirstResult(intfirstResult);返回数据库中的第一条记录参数为从0开始(为分页的起始记录数)。,5.使用myeclipse的集成环境搭建hibernate开发环境,6.hibernate的体系结构概述参见hibernate的官方文档第二章(hibernate的体系结构),总结,第二章hibernate对象关系映射(ORM)讲解,1.Hibernate中对象关系映射常用标签讲解2.使用hibernate操作数据库3.Hibernate的(O/R)mapping理解,1.Hibernate中对象关系映射常用标签讲解,对象标识ID标签的生成策略讲解:常用的主键增长策略:native增长方式:根据本地数据库所支持的增长方式进行增长,由底层数据库来匹配。increment:主要是由支持这种增长方式的数据库来决定的,mysql数据库就是支持本增长方式,identity:主要是由支持这种增长方式的数据库来决定的,mysql等。uuid:由hibernate自己生成,(注意:对象的标识类型必须是字符串)。assigned:指派,由程序员来自己生成主键的增长方式sequence:主要是由支持这种增长方式的数据库来决定的,oracle数据库。参见hibernate的官方文档对象关系映射(O/R)5.1章节。,2.使用hibernate操作数据库,3.Hibernate的(O/R)mapping理解,第三章hibernate关联关系映射讲解,1Many-to-One单双向;2One-to-Many单双向;3One-to-One单双向;4Many-to-Many单双向;,1Many-to-One:标签是hibernate用来描述类的引用关系,many-to-one标签会在多的一段生成一个外键指向一的一端;,2One-to-Many单向:1)类的写法:员工类如下publicclassEmployeesprivateinteid;privateStringeName;publicintgetEid()returneid;2)类的写法:部门类如下publicclassDeptprivateintdid;privateStringdeptName;privateSetemps=newHashSet();,3)hibernate类的映射文件部门类的写法classname=com.cissst.entity.Depttable=tb_dept,4)hibernate类的映射文件员工类的写法,5)双向映射就是多对一和一对多标签的结合使用部门类的写法publicclassDeptprivateintdid;privateStringdeptName;privateSetemps=newHashSet();员工类的写法publicclassEmployeesprivateinteid;privateStringeName;privateDeptdept;,hibernate类的映射文件部门类的写法,hibernate类的映射文件员工类的写法,第四

温馨提示

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

评论

0/150

提交评论