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.什么是hibernate 2.为什么需要hibernate 3.在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之外还有其它的类似框架,例如: Toplink JDO OJB Ibatis 相关资料可上网查看并(参见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.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql:/127.0.0.1/hibernate root root ,3).改写持久化类映射文件的配置信息 ,4).利用hibernate类工具类生成库表如下: /获得数据库的链接Connection Configuration cfg=new Configuration().configure(); /解析configure()方法源代码如下; public Configuration configure() throws HibernateException configure( “/hibernate.cfg.xml“ ); return this; /hibernate中SchemaExport是hibernate提供的工具类/主要是用来生产DDL语言 SchemaExport export=new SchemaExport(cfg); export.create(true, true);,4.使用hibernate对数据库进行增删改查操作 获得数据库的链接 Configuration cfg=new Configuration().configure(); SessionFactory是hibernate生成操作数据库的内存镜像,是session对象的生产者,我们要获得session必须通过它获得。 SessionFactory sessionFactory=cfg.buildSessionFactory(); session是hibernate给我们提供的操作数据库的方法的一个接口,session接口是介于Connectioin,TransAction; Session session=sessionFactory.openSession(); Hibernate的Session当中就有我们操作数据库的方法,如下: /存储一个对象(持久化一个对象) public Serializable save(Object object) throws HibernateException; /对象进行修改操作 public void update(Object object) 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;,Query query=session.createQuery(HQL) Query是hibernate给我们提供的查询接口。 一下为接口中常用的方法: 1).public Object uniqueResult() throws HibernateException;返回一条记录数的方法。 2). public List list() throws HibernateException;通过循环查询集合数据的方法。 3). public Iterator iterate() throws HibernateException通过迭代器迭代集合中的数据。 4). public Query setMaxResults(int maxResults);返回数据库中的最大记录数(为分页的每页显示最大记录数)。 5). public Query setFirstResult(int firstResult);返回数据库中的第一条记录参数为从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关联关系映射讲解,1 Many-to-One单双向; 2 One-to-Many单双向; 3 One-to-One单双向; 4 Many-to-Many单双向;,1 Many-to-One: 标签是hibernate用来描述类的引用关系,many-to-one标签会在多的一段生成一个外键指向一的一端; ,2 One-to-Many单向: 1)类的写法: 员工类如下 public class Employees private int eid; private String eName; public int getEid() return eid; 2)类的写法:部门类如下 public class Dept private int did; private String deptName; private Set emps=new HashSet();,3 )hibernate类的映射文件部门类的写法 class name=“com.cissst.entity.Dept“ table=“tb_dept“ ,4)hibernate类的映射文件员工类的写法 ,5)双向映射就是多对一和一对多标签的结合使用 部门类的写法 public class Dept private int did; private String deptName; private Set emps=new HashSet(); 员工类的写法 public class Employees private int eid; private String eName; private Dept dept;,hibernate类的映射文件部门类的写法 ,hibernate类的映射文件员工类的写法 ,第四

温馨提示

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

评论

0/150

提交评论