<?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"/>
-->
相关推荐
常用 Hibernate 映射配置说明.doc
配置一个新的配置项,输入配置项的名称MyHibernateCode,选择Hibernate Configuration(即已配好的Hibernate控制台配置),在Output directory中输入反向代码输出目录(注意这个目录一般只需项目的源代码src),然后...
struts2+hibernate_spring的整合说明文档
本项目整合spring_jpa_hibernate_shiro,spring_jpa_hibernate_shiro.zip 里有代码,spring_jpa_hibernate常用的小弟就没有单独说明了,在项目配置文件里写得比较清楚,小弟在主要是shiro权限控制做了单独说明,如有...
1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...
Hibernate连接SQLite配置步骤: 1、添加SQLite库: 1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将...
hibernate spring 配置的详细说明
最基本的Hibernate的配置。亲测可以运行。 包含各种jar包,有配置说明。简单好用,你值得拥有
Hibernate配置文件说明 创建hibernate.cfg.xml
如何对hibernate进行配置,步骤操作说明(含截图)
struts2.3+spring3.1.2+hibernate4.1.6 配置说明
根据自己学习总结的一些hibernate资料,包括全面介绍关系配置和各种查询,都有详细的说明。还有自己写的一些小dome。希望对初学者有帮助!
hibernate 连接池配置详解,四种连接方式:第一种方案,Hibernate默认连接池;第二种方案是:C3P0;第三种方案是:dbcp;第四种方案是:Proxool (推荐)
Hibernate映射配置详解
Hibernate主键类型说明和配置手册.doc Hibernate主键类型说明和配置手册.doc Hibernate主键类型说明和配置手册.doc
struts2.1.16_spring4.0.2_hibernate4.3.2+jar包+配置说明.rar
Struts+Spring+Hibernate配置说明
Hibernate高级配置 1. Hibernate与触发器...4. commons DBCP 配置说明 5. Hibernate的缓存机制介绍 6. Hibernate缓存机制带来的一个负面问题 7. hibernate cache 缓存 8. hibernate缓存方案 9. Hibernate二级缓存配置
Struts2 Spring Hibernate的配置及登录实例的详细说明(附源码)
Struts2+Spring+Hibernate配置说明及源码