您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > hibernate技术课程讲解
NAMEXIFULONG西安软件服务外包学院课程目标:使学员掌握并熟练使用框架进行企业项目开发学员要求:1).学员必须具备JDBC与数据库知识2).学员具备java基础知识3).学员具备jsp/servlet知识NAMEXIFULONG西安软件服务外包学院第一章hibernate框架编程准备知识讲解1.什么是hibernate2.为什么需要hibernate3.在myeclipse中手动搭建hibernate开发环境4.使用hibernate对数据库进行增删改查操作5.使用myeclipse的集成环境搭建hibernate开发环境6.hibernate的体系结构概述NAMEXIFULONG西安软件服务外包学院1.什么是hibernate:hibernate(冬眠):是访问数据库的一个持久层框架,也是一组类相互工作的类的集合,主要是用来对数据进行(curd)操作,它的底层封装了JDBC并且扩展了JDBC一些功能;从分层角度来说hibernate位于数据访问层(DAO),hibernate中数据访问层称为数据持久化。NAMEXIFULONG西安软件服务外包学院2.为什么需要hibernate:1)使用hibernate使我们的编程思维更加的OO,其中会使程序员养成OOA思想,OOP思想,OOD思想。2)提高生产力,使程序员不再编写重复的JDBC代码,把主要的经历思考在用来实现业务方法上。3)对象关系映射框架除了hibernate之外还有其它的类似框架,例如:ToplinkJDOOJBIbatis相关资料可上网查看并(参见spring的官方文档第一章spring概览)的ORM模块。NAMEXIFULONG西安软件服务外包学院3.在myeclipse中手动搭建hibernate开发环境1)hibernate框架环境搭建步骤:(1).拷贝\Hibernate\hibernate-3.2.0.ga\hibernate-3.2\hiberante3.jar核心jar包到我们web工程地下的lib目录。(2).拷贝Hibernate\hibernate-3.2.0.ga\hibernate-3.2\lib目录底下的所有jar包到我们的lib目录底下。(3).拷贝Hibernate\hibernate-3.2.0.ga\hibernate-3.2\etc目录下的hibernate.cfg.xml文件到我们工程的src目录下。(4).拷贝Hibernate\hibernate-3.2.0.ga\hibernate-3.2\eg\org\hibernate\auction目录下的类的映射文件到和自己定义的类的同级目录下。(注意别忘了拷贝不同数据库的驱动)(5).分别改写hibernate.cfg.xml文件和类映射文件。NAMEXIFULONG西安软件服务外包学院2).改写hibernate链接数据库hibernate.cfg.xml配置文件的信息session-factory!--配置不同数据库的方言--propertyname=hibernate.dialectorg.hibernate.dialect.MySQLDialect/property!--加载驱动的配置--propertyname=hibernate.connection.driver_classcom.mysql.jdbc.Driver/property!--配置链接数据库的url地址--propertyname=hibernate.connection.urljdbc:mysql://127.0.0.1/hibernate/property!--配置链接数据库的用户名称--propertyname=hibernate.connection.usernameroot/property!--配置链接数据库的用户密码--propertyname=hibernate.connection.passwordroot/property!--类的映射文件必须在这声明--mappingresource=com/cissst/entity/User.hbm.xml//session-factoryNAMEXIFULONG西安软件服务外包学院3).改写持久化类映射文件的配置信息hibernate-mapping!--描述普通javabean的标签--classname=com.cissst.entity.Users!--描述的是类的对象标识,在数据库中就是表的主键--idname=id!--主键增长策略,后边会详细讲解--generatorclass=native//id!--用来描述类的普通属性--propertyname=username/propertyname=password/propertyname=creatTime/propertyname=endTime//class/hibernate-mappingNAMEXIFULONG西安软件服务外包学院4).利用hibernate类工具类生成库表如下://获得数据库的链接ConnectionConfigurationcfg=newConfiguration().configure();//解析configure()方法源代码如下;publicConfigurationconfigure()throwsHibernateException{configure(/hibernate.cfg.xml);returnthis;}//hibernate中SchemaExport是hibernate提供的工具类//主要是用来生产DDL语言SchemaExportexport=newSchemaExport(cfg);export.create(true,true);NAMEXIFULONG西安软件服务外包学院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;NAMEXIFULONG西安软件服务外包学院Queryquery=session.createQuery(HQL)Query是hibernate给我们提供的查询接口。一下为接口中常用的方法:1).publicObjectuniqueResult()throwsHibernateException;返回一条记录数的方法。2).publicListlist()throwsHibernateException;通过循环查询集合数据的方法。3).publicIteratoriterate()throwsHibernateException通过迭代器迭代集合中的数据。4).publicQuerysetMaxResults(intmaxResults);返回数据库中的最大记录数(为分页的每页显示最大记录数)。5).publicQuerysetFirstResult(intfirstResult);返回数据库中的第一条记录参数为从0开始(为分页的起始记录数)。NAMEXIFULONG西安软件服务外包学院5.使用myeclipse的集成环境搭建hibernate开发环境NAMEXIFULONG西安软件服务外包学院6.hibernate的体系结构概述参见hibernate的官方文档第二章(hibernate的体系结构)NAMEXIFULONG西安软件服务外包学院总结NAMEXIFULONG西安软件服务外包学院第二章hibernate对象关系映射(ORM)讲解1.Hibernate中对象关系映射常用标签讲解2.使用hibernate操作数据库3.Hibernate的(O/R)mapping理解NAMEXIFULONG西安软件服务外包学院1.Hibernate中对象关系映射常用标签讲解!--class标签描述的是持久化类的标签。name属性指定是类名的全路径必须填写,table属性指的是类生成后的表名称(可选)--classname=com.cissst.entity.Userstable=tb_users!--描述的是类的对象标识,在数据库中就是表的主键--idname=idcolumn=tb_id!--generator标签表示的是生成表后主键增长方式--generatorclass=native//id!--property标签用来描述类的普通属性。column表示的是生成表后的表的列名,type属性指定是列的类型,not-null属性指的是生成表后的字段是否为空--propertyname=usernamecolumn=tb_usernamelength=50type=stringnot-null=true/propertyname=passwordcolumn=tb_passwordlength=50type=stringnot-null=true/propertyname=creatTimecolumn=tb_creatTimelength=50/propertyname=endTimecolumn=tb_endTimelength=50type=stringnot-null=true//classNAMEXIFULONG西安软件服务外包学院对象标识ID标签的生成策略讲解:generatorclass=“为一下参数/常用的主键增长策略:native增长方式:根据本地数据库所支持的增长方式进行增长,由底层数据库来匹配。increment:主要是由支持这种增长方式的数据库来决定的,mysql数据库就是支持本增长方式,identity:主要是由支持这种增长方式的数据库来决定的,mysql等。uuid:由hibernate自己生成,(注意:对象的标识类型必须是字符串)。assigned:指派,由程序员来自己生成主键的增长方式sequence:主要是由支持这种增长方式的数据库来决定的,oracle数据库。参见hibernate的官方文档对象关系映射(O/R)5.1章节。NAMEXIFULONG西安软件服务外包学院2.使用hibernate操作数据库NAMEXIFULONG西安软件服务外包学院3.Hibernate的(O/R)mappi
本文标题:hibernate技术课程讲解
链接地址:https://www.777doc.com/doc-3977162 .html