持久化类映射文件在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,自增列,适用于SQLServer和MySQL
<id name="id" column="id">
<generator class="identity"/>
</id>
3,取最大值加一
<id name="id" column="id" type="integer">
<generator class="increment"/>
</id>
分享到:
相关推荐
**5.2 Hibernate知识辅导(2--1)** - **实体映射**: 使用注解和XML映射实体类。 - **一对一映射**: 一对一关系的实现方式。 - **一对多映射**: 一对多关系的实现方式。 **5.3 Hibernate知识辅导(2--2)** - **...
2. **Hibernate框架**: Hibernate是一个对象关系映射(ORM)工具,它简化了Java应用与关系数据库之间的交互。在博客系统中,Hibernate作为数据访问层,负责将Java对象与数据库中的表进行映射,提供透明的数据持久...
根据给定的文件信息,我们可以提炼出一系列与Java程序设计相关的知识点,这48讲加上额外的2讲辅导课程,涵盖了Java编程的基础到高级技术,是深入理解和掌握Java语言的宝贵资源。以下是对这些知识点的详细说明: ###...
1. **Java基础知识**: - 数据类型:了解基本数据类型(整型、浮点型、字符型、布尔型)以及它们的内存占用和范围。 - 变量与常量:理解变量的声明、初始化和作用域。 - 类与对象:掌握类的定义、对象的创建及...
知识点1: Spring Boot 框架 * Spring Boot 是一个基于 Spring 框架的快速应用程序开发框架,能够快速构建独立的、生产级别的基于 Spring 的应用程序。 * Spring Boot 제공了许多默认配置和 starter 依赖项,能够...
2. **数据库设计**:文件"2-数据库表结构文档"很可能包含了项目的数据库模型,包括各个表的设计、字段定义以及它们之间的关系。这通常涉及到关系型数据库管理系统(如MySQL或Oracle),并且可能运用了实体关系模型...
根据提供的信息,我们可以总结出以下相关的IT知识点: ### 一、尚硅谷的教育资源 #### Java教程 1. **Java基础阶段** - **20天横扫Java基础**:这是一套适合Java初学者的教程,通过20天的学习周期帮助学员快速...
1. 数据库设计:系统中的“2-数据库表结构文档”详细阐述了数据存储结构。通常包括商品信息表、供应商信息表、库存表、销售记录表等,确保数据的完整性和一致性。设计时需考虑关系数据库的范式理论,优化查询效率,...
2. **技术栈展示**:列出你精通的Java技术,如J2EE、JDBC、多线程、集合框架、设计模式等,并提及你对其他相关技术如Spring Boot、MyBatis、Hibernate的理解和应用。 3. **项目经验**:详细描述你参与过的项目,...
8. **辅导视频**:01-视频可能是一系列的教学视频,帮助学习者理解系统的实现过程,包括编程技巧、问题调试、功能测试等内容,有助于深化理论知识和实践能力。 9. **版本控制**:项目可能使用Git进行版本控制,确保...
开发者可能还使用了Spring框架来管理依赖,Hibernate或MyBatis进行ORM(对象关系映射),这些都属于Java开发中的常用技术栈。 "数据库结构文档"(2-数据库结构文档)详细阐述了系统所使用的数据库设计,包括实体...
“1-部署文档”提供了系统在服务器上的安装和配置步骤,包括环境搭建、数据库连接设置、应用服务器配置等。部署过程通常涉及Java开发环境(如JDK)、应用服务器(如Tomcat)、数据库服务器(如MySQL)的安装,以及...
- 数据库:MySQL或Oracle存储用户信息、作业、成绩等数据,使用JDBC进行数据库操作,可能结合Hibernate或MyBatis简化ORM(对象关系映射)。 - 前端:HTML、CSS和JavaScript,可能使用Bootstrap或Vue.js等框架提升...
该系统主要利用了Spring、Struts2和Hibernate框架来设计并实现自动化的考试座位编排功能,从而替代了传统的人工排座方式。系统的设计和实现可以有效避免人工操作中可能出现的错误,减轻教务人员的工作负担,并且提升...
1. **视频教程**:通过视频,可以清晰地看到每个步骤的演示,帮助理解理论知识在实际操作中的应用。 2. **学习资料**:可能包括相关的技术文档、教程文章,进一步深入学习Java Web开发和健身房管理系统的具体实现...
这个项目的重点在于理解和应用Java编程语言来构建一个实用的业务系统,同时也涉及到数据库管理和系统部署的相关知识。 1. **Java编程基础**:Java是一种面向对象的编程语言,它的特性包括平台独立性、丰富的类库和...