<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory >
<!-- 启动服务器时,自动更新数据库.开发结束以后,删掉下面这行-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- JDBC数据库连接的URL -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/databasename?characterEncoding=UTF-8</property>
<!-- JDBC驱动类 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 密码 -->
<property name="hibernate.connection.password">123456</property>
<!-- Hibernate数据库方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 是否显示SQL语句 -->
<property name="hibernate.show_sql">false</property>
<!-- 配置数据库连接池 -->
<!-- Hibernate连接池类名 -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<!-- 最大连接数 -->
<property name="hibernate.c3p0.max_size">100</property>
<!-- 最小连接数 -->
<property name="hibernate.c3p0.min_size">10</property>
<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位秒 -->
<property name="hibernate.c3p0.timeout">120</property>
<!-- 最大的预编译语句的数量 -->
<property name="hibernate.c3p0.max_statements">50</property>
<!-- 每隔多少秒检查连接池里的空闲连接 ,单位是秒-->
<property name="hibernate.c3p0.idle_test_period">120</property>
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- 每次都验证连接是否可用 -->
<property name="hibernate.c3p0.validate">true</property>
<!-- 指定的映射类 -->
<mapping class="edu.xmu.auto.entity.Role"/>
<mapping class="edu.xmu.auto.entity.User"/>
</session-factory>
</hibernate-configuration>
现在开始详解: 首先是文件头部分,这部分就不用解释了吧,当然也不需要自己去记忆。可以直接到官网给出的demo拷贝这部分
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
接下来就是如何配置Hibernate了,Hibernate的配置文件都放在下面标签内,不解释
<hibernate-configuration>
<session-factory >
<!-- 配置文件内容-->
</session-factory>
</hibernate-configuration>
下面的才是重点:
<!-- 启动服务器时,自动更新数据库,不过MySQL或其它数据库中要有你自己创建的数据库名,里面可以没有表.开发结束以后,可以去掉这个属性-->
<!-- 这里有这样4个值可选:update create create-drop validate,个人建议用update
validate 加载hibernate时,验证创建数据库表结构
create 每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。
create-drop 加载hibernate时创建,退出是删除表结构
update 加载hibernate自动更新数据库结构,但不会删除原有数据
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- JDBC数据库连接的URL -->
<!--
MySQL数据库URL:jdbc:mysql:// ip:port/databasename ,port默认为3306
Oracle 数据库URL:jdbc:oracle:thin:@ip:port:databasename,port默认为1521
SQL Server数据库URL: jdbc:microsoft:sqlserver://ip:port;DatabaseName=databasename ,port默认为1433
如果数据库是在远程电脑,则将localhost换为对应的IP地址; 将databasename换成对应的数据库名;
编码方式根据数据库的编码设置,数据库的编码方式是什么,就改为什么
-->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/databasename?characterEncoding=UTF-8</property>
<!-- JDBC驱动类 -->
<!--
至于需要添加的jar包,自己百度下面的驱动类名,就可以找到了
MySQL 数据库驱动:com.mysql.jdbc.Driver
SQL Server 数据库驱动: com.microsoft.jdbc.sqlserver.SQLServerDriver
Oracle 数据库驱动:oracle.jdbc.driver.OracleDriver
-->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 用户名 -->
<!--
MySQL数据库默认用户名是 root
Oracle数据库默认用户名为 sysdba
SQL Server 数据库默认用户名为 sa
-->
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<!-- Hibernate数据库方言 -->
<!--
MySQL数据库方言为 org.hibernate.dialect.MySQLDialect
Oracle9i/10g 数据库方言为 org.hibernate.dialect.Oracle9Dialect
SQL Server 数据库方言为 org.hibernate.dialect.SQLServerDialect
-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 是否在控制台显示SQL语句 ,方便调试。开发过程可以设为true,开发结束以后设为false-->
<!-- 允许的值为true 和 false -->
<property name="hibernate.show_sql">false</property>
<!-- 配置数据库连接池 ,,默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG。Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool-->
<!-- Hibernate连接池类名,我现在用的是C3P0 -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<!-- 最大连接数 -->
<property name="hibernate.c3p0.max_size">100</property>
<!-- 最小连接数 -->
<property name="hibernate.c3p0.min_size">10</property>
<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位秒 -->
<property name="hibernate.c3p0.timeout">120</property>
<!-- 最大的预编译语句的数量 -->
<property name="hibernate.c3p0.max_statements">50</property>
<!-- 每隔多少秒检查连接池里的空闲连接 ,单位是秒-->
<property name="hibernate.c3p0.idle_test_period">120</property>
<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->
<property name="hibernate.c3p0.acquire_increment">2</property>
<!-- 每次都验证连接是否可用,允许值true,false -->
<property name="hibernate.c3p0.validate">true</property>
<!-- 指定的映射-->
<!--
映射通常有两种形式,一种是<mapping resource="com/mycom/entity/User.hbm.xml"/>,这种形式是通过映射文件来处理映射关系的,笔者的建议是,如果你想通过数据库生成java类,那么你就用这种方式。直接利用HibernateSychronizer插件来生成。否则的话,配置xml文件极为繁琐,而且当变动数据库模型的时候,有可能出错
一种是 <mapping class="com.mycom.entity.User"/>这种形式,这种方式通常是利用java类来生成数据库表(当然前提是要配置hibernate.hbm2ddl.auto属性喽),这种方式是直接在Java类里面用@annotation来标注,详细请察看笔者的另一篇文章 http://titanseason.iteye.com/blog/1279198
-->
Xml代码
<mapping class="com.mycom.entity.User"/>
<mapping class="com.mycom.entity.Role"/>
<!--
<mapping resource="com/mycom/entity/User.hbm.xml"/>
<mapping resource="com/mycom/entity/User.hbm.xml"/>
-->
相关推荐
- **resource**:资源文件夹,可能存放Hibernate的配置文件(如hibernate.cfg.xml)、数据库连接信息、日志配置等。 - **lib**:包含项目所需的外部库,比如Hibernate库、Oracle JDBC驱动等。 通过这个项目,你可以...
学习这个项目,开发者可以深入理解如何在实际项目中整合Struts和Hibernate,如何设计Action类处理用户请求,如何配置Struts的配置文件(struts.xml),以及如何定义Hibernate的实体类和映射文件(hbm.xml)。同时,还能...
《Hibernate配置文件详解》 在Java企业级应用开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本教程将深入探讨Hibernate的核心配置文件,了解其重要字段及其作用,帮助开发者更...
在使用Hibernate时,正确选择和配置cascade选项对于高效地管理和维护实体之间的关系至关重要。通过了解不同选项的特点和应用场景,开发人员可以更加灵活地应对各种业务需求,同时也能够有效地避免潜在的数据一致性...
这个文档是开发者在实际编程时的重要参考工具,包含了所有Hibernate类、接口及其方法的详细说明。开发者可以通过查阅此文档,快速定位并理解 Hibernate 中的各种类和方法,以解决开发过程中遇到的具体问题。 再者,...
Hibernate Validator提供了多种配置方式,包括使用XML配置。该文档对如何使用 validation.xml 文件和如何映射约束做了说明。在启动框架时,需要配置和初始化 ValidatorFactory,该文档也对此有所涉及。 Hibernate ...
【标题】"BBS.rar_bbs论坛spring_hibernate_spring bbs_struts hibernate bbs_论坛" 提供了一个关于Java技术栈实现的BBS论坛系统的信息,该系统结合了Spring、Hibernate和Struts框架。这三大框架是Java Web开发中的...
- **`@Column`**:提供了对数据库字段的详细配置能力,如`name`(字段名)、`nullable`(是否允许空值)、`unique`(是否唯一)、`length`(长度限制)、`insertable`与`updateable`(是否参与插入或更新操作)以及`...
压缩包内的文件“compass_hibernate_spring2”可能是包含源代码、配置文件和文档的目录,用户可以通过解压并导入到 IDE 中,跟随提供的说明来运行示例或学习如何集成这三个框架。 总的来说,这个压缩包提供了一个...
1. **说明.htm**:可能包含关于该版本的简要介绍,包括新特性、改进和已知问题等信息。 2. **hibernate-orm-5.2.13**:这个目录下包含了Hibernate 5.2.13的主要源代码。其中可能包含以下几个关键部分: - **src/...
配置一个新的配置项,输入配置项的名称MyHibernateCode,选择Hibernate Configuration(即已配好的Hibernate控制台配置),在Output directory中输入反向代码输出目录(注意这个目录一般只需项目的源代码src),然后...
本项目整合spring_jpa_hibernate_shiro,spring_jpa_hibernate_shiro.zip 里有代码,spring_jpa_hibernate常用的小弟就没有单独说明了,在项目配置文件里写得比较清楚,小弟在主要是shiro权限控制做了单独说明,如有...
"新建文本文档.txt"可能包含了项目说明、配置指南或其他相关信息,尽管没有具体文件内容,但可以推测这是项目的一部分。 综合来看,这个“SPRINGMVC_HIBERNATE_LIB”压缩包可能是一个用于快速启动SpringMVC和...
接着,它会详细解释如何安装和配置Hibernate,包括设置环境变量、引入依赖库以及配置hibernate.cfg.xml文件等步骤。这对于初学者来说是非常重要的,因为正确配置是成功使用Hibernate的第一步。 在对象关系映射部分...
标题和描述均提到了“Hibernate_3.2属性文档介绍_中文”,这表明文档主要聚焦于Hibernate 3.2版本的属性配置与使用说明。Hibernate是Java领域内一个流行的开源对象关系映射(ORM)框架,它允许开发人员将数据库表...
1. **配置 Hibernate**:讲解如何创建hibernate.cfg.xml配置文件,设置数据库连接、方言、缓存等。 2. **实体映射**:介绍XML文件(hbm.xml)或使用注解的方式进行对象到表的映射,如@ManyToOne、@OneToMany、@...
### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...
Hibernate Tools是Eclipse集成开发环境中的一款强大插件,它为开发者提供了方便的Hibernate实体类生成、数据库反向工程、SQL执行及对象关系映射(ORM)配置等多种功能。在本文中,我们将详细介绍如何安装Hibernate ...
在`appactionContext.xml`中,配置了`LocalSessionFactoryBean`,指定Hibernate配置文件的位置。然后,添加`HibernateTransactionManager`,用于管理事务。此外,通过`<tx:advice>`和`<tx:attributes>`标签,可以...
2. **Hibernate配置**:设置Hibernate的属性,如连接池、方言、缓存策略等,并在实体类上使用注解进行数据映射。 3. **Struts2配置**:配置struts.xml文件,定义Action的入口点、结果类型、拦截器栈等。 **五、测试...