`
heimeiyingwang
  • 浏览: 94945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate知识辅导(2--1)

阅读更多

持久化类映射文件在hibernate.cfg.xml中的配置

 

hibernate的配置文件hibernate.cfg.xml用于配置数据库的连接的信息,以及需要持久化的对象的xml映射文件的位置

hibernate.cfg.xml中使用<mapping resource="xml/Student.hbm.xml">这种方式来指名要持久化对象的映射文件。

 

SessionFactory是和一个数据库一一对应的,他只能对应一个hibernate.cfg.xml文件,一个hibernate.cfg.xml中只能配置一个数据库的连接信息。

 

POJO(普通的java类)

 

持久化对象和临时对象,持久化对象,即对象的信息在数据库中存在,在内存中也有。临时对象也就是新对象,没有同步到数据库。

 

Session,持久化管理器。

 

Hibernate的核心接口

 

Configuration,用于解析hibernate.cfg.xml文件和XXXXX.hbm.xml文件,并创建SessionFactory对象。

SessionFactory,用于创建Session对象。SessionFactory类的对象是线程安全。

Session,持久化管理器,对象级数据库操作,Session实现类的对象是线程步安全的。

 

Session的常用方法

save(Object o),将参数表中对象的信息保存到数据库中相应的表中。

update(Object o),将修改了的参数表中对象的数据库中保存的对应信息。

createOuery(String hql),用于查询的方法并返回一个Query对象。可以通过该对象获得查询的结果。这个方法的参数,是种特定的语句,也就是Hibernate的查询语言,它是基于了和对象的,在以后的课程中会讲到。

delete(Object o),删除参数表中对象的数据库中保存的对应信息。

 

Query,对对象作持久化操作或查询操作。

Query的常用方法

List list(),将所查询出的结果封装成结合返回。

setXxxx(Xxxx x),用于设置在Hql语句中设置的参数。

Object uniqueResult(),当确保查询的结果只有一格的时候用这方法获得查询的结果

 

Transaction ,用于管理操作事务。

 

hibernate.cfg.xml中的标签

<!DOCTYPE hibernate-configuration PUBLIC

     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

     <session-factory>

     <property name="show_sql">true</property><!--显示sql语句-->

     <property name="format_sql">true</property><!--使显示的sql语句格式化-->

     <property name="dialect">....</property><!--使用的数据库方言信息-->

        <property name="connection.driver_class">....</property>

     <!--使用的数据库的驱动-->

     <property name="connection.url">....</property><!--连接数据库使用的url-->

        <property name="connection.username">...</property>

     <!--连接数据库的用户名-->

     <property name="connection.password">...</property>

     <!--连接数据库的密码-->

 

     <mapping resource="xxx/xxxx/Xxxxxx.hbm.xml"/>

     <!--引入的映射对象的xml文件的全路径及文件名-->

     </session-factory>

</hibernate-configuration>

 

对象映射文件

 

持久化类,映射到表的原则

 

类和数据库中的表相对应,类映射成表

类的属性和数据库表中的字段相对应,类的属性映射成表中字段

类与类间的关系和数据库中的主外间关系对应,类的关系映射成主外建关系

 

<hibernate-mapping package="XXX.XXX.XXX" auto-import="false">

<!--映射类所在的包-->

     <class name="Xxxxxx" table="Xxxxx"><!--类映射到表 -->

         <id name="studentId" column="studentId">

<!--生成标识对象唯一性的主键-->

              <generator class="assigned"/>

              <!--这里指定主键生成策略为用户指定-->

         </id>

         <property name="XXX" column="XXXX" type="string"/>

         <!--类的属性映射到表中的字段 -->

         <property name="homeAddress" column="homeAddress"/>

         <property name="schoolAddress" column="schoolAddress"/>

         <property name="brithday" column="brithday" type="data"/>

        <!--hibernate中其他类型可以自动识别只有java.sql.Data类型必须指名-->

    </class>   

</hibernate-mapping>

 

id生成方式(主键生成策略)

 

1,            序列sequence 只适用于Oracle

    

<id name="id" column="id">

     <generator class="sequence">

<!--通过class属性指明使用sequence生成对象唯一标识-->

         <param name="sequence">person_seq</param><!--指定sequence-->

     </generator>

</id>

 

2,自增列,适用于SQLServerMySQL

 

<id name="id" column="id">

     <generator class="identity"/>

</id>

 

3,取最大值加一

 

<id name="id" column="id" type="integer">

     <generator class="increment"/>

</id>

 

 

分享到:
评论

相关推荐

    java知识全集

    **5.2 Hibernate知识辅导(2--1)** - **实体映射**: 使用注解和XML映射实体类。 - **一对一映射**: 一对一关系的实现方式。 - **一对多映射**: 一对多关系的实现方式。 **5.3 Hibernate知识辅导(2--2)** - **...

    博客系统(struts+hibernate+spring).zip

    2. **Hibernate框架**: Hibernate是一个对象关系映射(ORM)工具,它简化了Java应用与关系数据库之间的交互。在博客系统中,Hibernate作为数据访问层,负责将Java对象与数据库中的表进行映射,提供透明的数据持久...

    Java程序设计视频教程 48讲+2讲辅导

    根据给定的文件信息,我们可以提炼出一系列与Java程序设计相关的知识点,这48讲加上额外的2讲辅导课程,涵盖了Java编程的基础到高级技术,是深入理解和掌握Java语言的宝贵资源。以下是对这些知识点的详细说明: ###...

    2022最全java面试题+心里辅导

    1. **Java基础知识**: - 数据类型:了解基本数据类型(整型、浮点型、字符型、布尔型)以及它们的内存占用和范围。 - 变量与常量:理解变量的声明、初始化和作用域。 - 类与对象:掌握类的定义、对象的创建及...

    基于springboot的线上辅导班系统源码数据库.doc

    知识点1: Spring Boot 框架 * Spring Boot 是一个基于 Spring 框架的快速应用程序开发框架,能够快速构建独立的、生产级别的基于 Spring 的应用程序。 * Spring Boot 제공了许多默认配置和 starter 依赖项,能够...

    基于java的饮食分享平台(源代码+数据库+部署文档+辅导视频).zip

    2. **数据库设计**:文件"2-数据库表结构文档"很可能包含了项目的数据库模型,包括各个表的设计、字段定义以及它们之间的关系。这通常涉及到关系型数据库管理系统(如MySQL或Oracle),并且可能运用了实体关系模型...

    程序员200G资料大放送(内含百度云链接) 违规请告知删除

    根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、尚硅谷的教育资源 #### Java教程 1. **Java基础阶段** - **20天横扫Java基础**:这是一套适合Java初学者的教程,通过20天的学习周期帮助学员快速...

    基于java的进销存管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    1. 数据库设计:系统中的“2-数据库表结构文档”详细阐述了数据存储结构。通常包括商品信息表、供应商信息表、库存表、销售记录表等,确保数据的完整性和一致性。设计时需考虑关系数据库的范式理论,优化查询效率,...

    java简历辅导

    2. **技术栈展示**:列出你精通的Java技术,如J2EE、JDBC、多线程、集合框架、设计模式等,并提及你对其他相关技术如Spring Boot、MyBatis、Hibernate的理解和应用。 3. **项目经验**:详细描述你参与过的项目,...

    基于java的学籍管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    8. **辅导视频**:01-视频可能是一系列的教学视频,帮助学习者理解系统的实现过程,包括编程技巧、问题调试、功能测试等内容,有助于深化理论知识和实践能力。 9. **版本控制**:项目可能使用Git进行版本控制,确保...

    基于java的人力资源管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    开发者可能还使用了Spring框架来管理依赖,Hibernate或MyBatis进行ORM(对象关系映射),这些都属于Java开发中的常用技术栈。 "数据库结构文档"(2-数据库结构文档)详细阐述了系统所使用的数据库设计,包括实体...

    基于java的学生宿舍管理系统(源代码+数据库+部署文档+辅导视频).zip

    “1-部署文档”提供了系统在服务器上的安装和配置步骤,包括环境搭建、数据库连接设置、应用服务器配置等。部署过程通常涉及Java开发环境(如JDK)、应用服务器(如Tomcat)、数据库服务器(如MySQL)的安装,以及...

    javaweb课程设计大作业,教学课后辅导交流系统.zip

    - 数据库:MySQL或Oracle存储用户信息、作业、成绩等数据,使用JDBC进行数据库操作,可能结合Hibernate或MyBatis简化ORM(对象关系映射)。 - 前端:HTML、CSS和JavaScript,可能使用Bootstrap或Vue.js等框架提升...

    基于Java Web的高校考试排座系统.pdf

    该系统主要利用了Spring、Struts2和Hibernate框架来设计并实现自动化的考试座位编排功能,从而替代了传统的人工排座方式。系统的设计和实现可以有效避免人工操作中可能出现的错误,减轻教务人员的工作负担,并且提升...

    基于java的健身房管理系统设计与实现(源代码+数据库+部署文档+辅导视频).zip

    1. **视频教程**:通过视频,可以清晰地看到每个步骤的演示,帮助理解理论知识在实际操作中的应用。 2. **学习资料**:可能包括相关的技术文档、教程文章,进一步深入学习Java Web开发和健身房管理系统的具体实现...

    基于java的记账系统(源代码+数据库+部署文档+辅导视频).zip

    这个项目的重点在于理解和应用Java编程语言来构建一个实用的业务系统,同时也涉及到数据库管理和系统部署的相关知识。 1. **Java编程基础**:Java是一种面向对象的编程语言,它的特性包括平台独立性、丰富的类库和...

Global site tag (gtag.js) - Google Analytics