已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- HSE助理安全应急演练计划
- 财务管理-差旅费报销制度
- 京东自营商品品类优化方案及供应链管理
- 企业管理-私募基金公司员工岗位职责及绩效考核方案 SOP
- AI在银行风险管理中的实践与挑战
- KOL营销与网红带货实战策略与技巧
- CI-CD工程师容器方向容器镜像构建与优化方案
- Oracle应用顾问知识库建设方案
- 2025年度无锡继续教育公需课程练习题及参考答案
- 公司胶印版材生产工应急处置技术规程
- 广东开放大学2024秋《形势与政策(专)》形成性考核参考答案
- 《气瓶安全技术规程(第1号修改单)》
- 2024光伏电站自清洁纳米涂层施工前后发电效率提升计算与评估标准
- 【1例由冠心病引起的心肌梗死患者护理案例分析5900字(论文)】
- DL∕T 5759-2017 配电系统电气装置安装工程施工及验收规范
- 建设工程HSE管理方案
- JGJT178-2009 补偿收缩混凝土应用技术规程
- 人教版高一英语必修二《Unit 1 Cultural Relics》评课稿
- creo电气布线设计培训教案
- 悬臂桥面板计算理论
- GB/T 41681-2022管道用Y型铸铁过滤器
评论
0/150
提交评论