`
woaiwofengkuang
  • 浏览: 26472 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate学习01

阅读更多
好久没有写博了,这一段时间一直再学Sqring同时也忙着学校的考试也就没有什么时间来写。今天就给大家看一看我学Hibernate时的同学给的一个学校的“新手上路”吧。
新手上路hibernate使用之一

问题一: hibernate是什么?
 hibernate一种ORM工具,是连接 java 应用程序和关系数据库的中间件,这是对JDBC的封装,主要负责 java 对象的持久化.

问题二:hibernate中所需要的各 jar 分别起什么作用?
 
hibernate3.jar  编译hibernate所必须的jar 文件

第三方 jar文件(即hibernate自身所使用的其它jar文件,有以下介绍的jar文件,目前阶级对于我们开发一个使用hibernate技术底层实现的项目已经够用了)

antlr-2.7.6rc1.jar  :
 ANTLR (ANother Tool for Language Recognition)
是一个PCCTS制定的语言工具,它为他创建认定者,程序编译者,翻译者提供
一个包括 java,c#和C++在内的语法描述框架,使用from 多态查询语句时需要它。

cglib-2.1.3.jar:
 CGL (Code Generation Libray) 是一种高性能,高质量
的代码产生库, hibernate 用它来实现 po (persistent object)字节码的动态生成

asm.jar和asm-attrs.jar:  ObjectWeb的字节码操纵框架,用来动态生成java代码。

commons-collections-2.1.1.jar : Apache Commons 包中的一个,包含了一些Apache
开发的集合类,功能比java.util.*;强大

commons-logging-1.0.4.jar:   Jakarta的通用日志记录包

dom4j-1.6.1.jar: 是一个JAVA的XML API  类似于jdom,用来读写XML文件,dom4j是一个非常
优秀的JAVA XML API, 具有性能优异,功能强大和易使用的特点,同时它也是一个开放源代码
的软件,可以在 SourceForge上找到它。

eheache-1.1.jar:  EHCahe是一个纯JAVA的进程中的缓存,它具有经下特性,快速、简单、为
hibernate充当可插入的缓存,最小的依赖性和全面的文档和测试。

jta.jar:  java Transaction API (JTA) 规范的包,是指定事务和事务处理和分布式事务处理系统
之间的标准,JAVA接口,包括资源管理,应用服务,和事务应用程序。

log4j-1.2.9.jar:  hibernate 使用 Commons Logging  API 可以使用log4j作为实施,log的机制,如果
把log4j库放到上下文类目录中,commons Logging 就会使用log4j 和它上下文类路径找到的log4j.properties文件

ant.jar:
Ant编译工具的jar包,用来编译Hibernate源代码的。如果你不准备修改和编译Hibernate源代码,那么就没有什么用,可选的jar包

c3p0.jar:
C3PO是一个数据库连接池,Hibernate可以配置为使用C3PO连接池。如果你准备用这个连接池,就需要这个jar包。

jaas.jar:
JAAS是用来进行权限验证的,已经包含在JDK1.4里面了。所以实际上是多余的包。
有了以上基本的jar文件,对于我们现阶段利用hibernate开发一般的项目已经足够了。

问题三:hibernate.cfg.xml详解?
                <property name="show_sql">true</property>       是否打印hibernate执行的SQL语句
        <property name="format_sql">true</property>     打印sql语句时是否执行格式化
            <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  配置数据库的方言,主要是根据底层的数据库不同产生不同的sql语句
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  配置驱动程序名
        <property name="connection.url">jdbc:mysql://localhost:3306/xubindb</property> 配置驱动程序URL
        <property name="connection.username">root</property>        配置用户名
        <property name="connection.password">1234</property>        配置密码

        <mapping resource="xubin/ums/entity/Student.hbm.xml"/>   指定映射的实体类的配置文件

问题四:xxxx.hbm.xml详解?
    
<hibernate-mapping package="xubin.ums.entity">         指定映射实体类的包名

    <class name="Person" table="person">           实体类名映射表名
        <id name="id" column="id">             ID生成策略
            <generator class="native"/>
        </id>
        <property name="name" column="name"/>  实体类中的属性名映射表中的字段名
        </class>
   
</hibernate-mapping>

问题五:写hibernate代码时要注意什么?

   1、首先要确保把hibernate所需用要的jar文件全部加入 classpath中(hibernate3.jar,  hibernate所需要的第三方jar,以及数据库的驱动等)
   2、配置hibernate.cfg.xml文件,注意程序要访问底层数据库的类型而采用不同的配置
   3、配置xxxx.hbm.xml文件,把实体类的各部分分别与数据库的表相映射起来
   4、编程hibernate操作的代码
       
        Configuration config = new Configuration().configure();// 初始化并读取hibernate.cfg.xml文件
        sessionFactory = config.buildSessionFactory(); //取得一个会话工厂
        Session session = sessionFactory.openSession();//利用会话工厂得到一个会话实体
        Transaction trans = session.beginTransaction();//设置事务的开始
        session.save(obj); //持久化对象obj
        trans.commit();   //提交事务
        session.close();//关闭会话释放资源
 

问题六: hibernate中的ID生成策略。

hilo 高低位算法 :  使用时要建成一个单行单列的表,利用列的值根据算法来生成
increment:  只用于测试用,此操作只能限于一个线程操作
sequence: 针对oracle 数据库来生成的ID规则
seqhilo: 利用 sequence 当作种子来生成
uuid:  利用IP和时间来生成唯一的
identity:  针对 mysql db2 sysbase 等不同的底层数据库方言来生成
native: 跨数据库平台的生成规则, 让自己去判断数据库来生成(identity ,  sequence , hilo 三种选)
assigned: 自定义的,意思就是自己要在程序中手动的指定值
foreign:借用别的表的主键来生成ID
descriminator:  继承关系映射时使用,整个层次一张表的建模时使用
分享到:
评论

相关推荐

    hibernate学习笔记01

    ### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅...

    hibernate学习笔记-01helloword

    【标题】"hibernate学习笔记-01helloworld"主要涵盖了Hibernate框架的基础入门知识,是初学者了解和掌握Hibernate的重要起点。Hibernate是一款强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者...

    Hibernate基础学习源码

    本资源“Hibernate基础学习源码”提供了五个不同阶段的学习示例,分别命名为Hibernate_01至Hibernate_04以及Hibernate_M2M,涵盖了Hibernate的基本概念、配置、实体映射、CRUD操作以及多对多关系的处理。 1. **...

    hibernate学习资料

    《Hibernate学习之旅:SSH框架中的持久化神器》 在IT领域,SSH(Spring、Struts、Hibernate)被誉为经典的Java Web开发三大框架。其中,Hibernate作为数据持久化工具,以其强大的对象关系映射(ORM)能力,极大地...

    hibernate_day01笔记

    本笔记是学习传智博客ssh的时候做的笔记,整合了传智的教学文档。

    传智播客2016hibernate框架学习笔记

    该资源包含了四天的学习内容,分别是day01、day02、day03和day04,涵盖了从基础到高级的多个主题。以下是基于这些笔记的Hibernate框架相关知识点的详细解析: 1. **Hibernate概述**:Hibernate是一个开源的对象关系...

    Hibernate3.1_学习源码

    01 01Hibernate_Handwork : 手工配置使用Hibernate,其中详细标了Hibernate进行持久化的一些过程,因为是Hibernate的入门实例,所以注释很详细,其中有session的关闭后重建问题。 02 02Hibernate_UseMyEclipse: 利用...

    学习hibernate必看ppt--总结的很全面

    【描述】:“添加Hibernate库文件视频操作,01_Hibernate原理及简单使用,一对多,多对一,多对多 关联映射,Hql,hibernate创建事例...” 描述中提到了几个关键的学习点: 1. **Hibernate原理及简单使用**:这...

    Hibernate PPT学习资料

    【Hibernate PPT 学习资料】是一份详细讲解Hibernate框架的学习资源,主要涵盖了Hibernate的基本概念、对象-关系映射基础、复杂实体映射、关联映射以及查询等内容,旨在帮助初学者理解和掌握Hibernate的使用。...

    Hibernate开发指南01

    《Hibernate开发指南01》是针对Java开发者的一份详尽教程,主要讲解...通过《Hibernate开发指南01》的学习,读者将能够熟练掌握Hibernate的基本用法,并能灵活运用到实际项目中,提升Java数据库应用的开发效率和质量。

    struts and hibernate学习笔记

    6. **实例分析**:可能包含多个日志记录(day01至day03)的项目实践,逐步深入理解Struts2和Hibernate的使用。 通过这些文档,你可以系统地学习到Struts2和Hibernate的基本概念、配置、使用方法以及在实际项目中的...

    Hibernate_01_HelloWorld.rar

    【标题】"Hibernate_01_HelloWorld.rar"是一个压缩包文件,主要涵盖了关于Hibernate框架的基础使用以及如何将其与Oracle数据库进行...通过这个例子,学习者可以了解Hibernate的基本用法,并为后续的复杂应用打下基础。

    hibernate01.rarhibernate01.rarhibernate01.rarhibernate01.rarhibernate01.rarhibernate01.rar

    通常,`hibernate01.rar`可能包含关于Hibernate框架的学习资料或者示例项目,如源代码、教程文档、配置文件等。Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序,它简化了数据库操作,使开发人员...

    Hibernate01

    学习这个"Hibernate01",你可能会接触到以下知识点: 1. **安装和配置Hibernate**:包括添加依赖库,设置配置文件,以及确保环境正确无误。 2. **对象-关系映射**:理解如何通过Java类来代表数据库表,以及属性如何...

    传智播客-hibernate框架开发视频第day01-day04资料

    通过day01-day04的学习,你将具备使用Hibernate进行企业级开发的基础能力,能够熟练地在Java应用中进行数据持久化操作。为了充分利用这些资源,建议按照顺序逐步学习,同时动手实践,理论与实践相结合,才能真正掌握...

    Hibernate 简单 PPT 总结

    这些资料构成了一套完整的Hibernate学习路径,从基础到高级,从配置到实践,对于理解Hibernate的核心机制和提升开发技能都非常有帮助。通过阅读和研究这些内容,开发者可以更熟练地运用Hibernate进行数据库操作,...

    01_传智播客hibernate教程_hibernate介绍与动手入门体验

    【标签】"传智播客\传智播客hibernate\01_传智播客hibernate教程_hibernate介绍与动手入门体验" 作为标签,进一步确认了教程的来源和主题,便于学员搜索和归类学习资源。 在压缩包内的文件"01_传智播客hibernate...

    Hibernate学习资料

    **Hibernate学习资料** Hibernate是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库的强大工具。这份"Hibernate学习资料"旨在帮助初学者和有一定经验的开发者深入理解...

    达内内网学习笔记 hibernate

    【hibernate学习笔记概述】 Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者在数据库中操作对象,极大地简化了数据库编程。在Java应用开发中,Hibernate 提供了一个灵活的数据持久化层,使得开发...

    Hibernate-day01

    【标题】:“Hibernate-day01”指的是一个关于Hibernate框架的基础学习教程,可能是一个课程或研讨会的第一天内容。Hibernate是Java开发中的一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互。 ...

Global site tag (gtag.js) - Google Analytics