1-2 hibernate主配置文件hibernate.cfg.xml详解
详 http://www.cnblogs.com/biehongli/p/6531575.html
Hibernate的主配置文件hibernate.cfg.xml
1:Hibernate的主配置文件的名字必须是hibernate.cfg.xml(主要配置文件中主要配置:数据库连接信息,其他参数,映射信息):
常用配置查看源码:Hibernate\hibernate-distribution-3.6.0.Final\project\etc\hibernate.properties
1.1:主配置文件主要分为三部分:
注意:通常情况下,一个session-factory节点代表一个数据库;
1.1.1:第一部 数据库连接部分
注意"hibernate.connection.driver_class"中间的 _(杠);
1.1.2:第二部分 其他相关配置,包含打印sql语句,格式化sql语句,创建数据表或者更新数据表等等
1.1.3:第三部分加载所有的映射;
配置文件
<?xml version="1.0" encoding='utf-8'?>
1 <!DOCTYPE hibernate-configuration PUBLIC
2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
3 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
4
5 <hibernate-configuration>
6 <!-- 通常,一个session-factory节点代表一个数据库 -->
7 <session-factory>
8 <!-- (1):数据连接配置/(2):加载所有的映射(*.hbm.xml)-->
9
10 <!-- 第一部分:数据连接配置 -->
11 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
12 <property name="hibernate.connection.url">jdbc:mysql:///test</property>
13 <property name="hibernate.connection.username">root</property>
14 <property name="hibernate.connection.password">123456</property>
15 <!-- 数据库方法配置:mysql数据库的方言
16 hibernate在运行的时候,会根据不同的方言生成符合当前数据库语法的sql
17 -->
18 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect-->
19
20 <!-- 第二部分:其他相关配置 -->
21 <!-- 2.1:hibernate.show_sql显示hibernate运行时候执行的sql语句 -->
22 <property name="hibernate.show_sql">true</property>
23 <!-- 2.2:格式化sql -->
24 <property name="hibernate.format_sql">true</property>
25 <!-- 2.3:自动建表 -->
26 <property name="hibernate.hbm2ddl.auto">create</property>
27 <!-- <property name="hibernate.hbm2ddl.auto">update</property>
28 -->
29 <!--
30 每次在创建sessionFactory时执行创建表,当调用sessionFactory的close方法的时候,删除表
31 #hibernate.hbm2ddl.auto create-drop
32 每次都重新建表,如果已经存在就先删除再创建
33 #hibernate.hbm2ddl.auto create
34 如果表不存在就创建,表存在就不创建
35 #hibernate.hbm2ddl.auto update
36 生成环境时候执行验证,当映射文件的内容与数据库表结构不一样的时候就报错
37 #hibernate.hbm2ddl.auto validate
38 -->
39
40
41 <!-- 第三部分:加载所有的映射(*.hbm.xml) -->
42 <mapping resource="com/bie/po/User.hbm.xml"/>
43
44 </session-factory>
45 </hibernate-configuration>
纯代码 以mysql和oracle为例
********************************************************
<?xml version="1.0" encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 第一部分:数据连接配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!--<property name="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</property> -->
<property name="hibernate.connection.url">jdbc:mysql:///test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<!-- 数据库方法配置:mysql数据库的方言语 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>-->
<!-- 第二部分:其他相关配置 -->
<!-- 2.1:hibernate.show_sql显示hibernate运行时候执行的sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 2.2:格式化sql -->
<property name="hibernate.format_sql">true</property>
<!-- 2.3:自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 第三部分:加载所有的映射(*.hbm.xml) -->
<mapping resource="com/bie/po/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
(⊙o⊙)(⊙o⊙)(⊙o⊙)(⊙o⊙)(⊙o⊙)(⊙o⊙)(⊙o⊙)(⊙o⊙)
其他配置
1.连接池
hihibernate.connection.pool_size:最大连接池数
hibernate实现了一种插件结构,可以集成任何连接池软件,对c3p0连接池提供了内嵌支持配置如下

JNDI是java命名与目录接口(java naming and directory interface)
在hibernate中,除了可以通过JDBC连接数据库在还可以通过jndi配置数据源,建立数据库的连接。
配置如下


2.二级缓存
hibernate共有两级缓存,第一级缓存是session级的缓存,它是事务范围的缓存,可以由hibernate自动管理。
第二级缓存是由sessionFactory管理的进程级缓存,可以在hibernate.cfg.xml配置文件中进行配置和更改,可以动态加载和卸载。

3.事务管理,
hibernate实现对JDBC的轻量级的封装,本身并没有提供事务管理的功能,它依赖于JDBC或者JAR的事务管理功能。
hibernate默认使用JDBC的事务管理,可配置指定的transaction的工厂类别

4. 其他配置

1-2 hibernate主配置文件hibernate.cfg.xml详解的更多相关文章
- Hibernate学习(2)- hibernate.cfg.xml详解
1:主配置文件主要分为三部分: 注意:通常情况下,一个session-factory节点代表一个数据库: 1.1:第一部分 数据库连接部分,注意"hibernate.connection.d ...
- Hibernate.cfg.xml详解
在搭建Hibernate环境时需要配置Hibernate.cfg.xml配置文件,本文将想详细讲解配置文件的内容. 1.数据库连接信息 配置数据库驱动.(其中name为连接方式,我在这写jdbc的连接 ...
- Hibernate框架 主配置文件 Hibernate.cfg.xml 映射配置 说明
1 主配置文件 Hibernate.cfg.xml 主配置文件中主要配置:数据库连接信息.其他参数.映射信息! 常用配置查看源码: hibernate-distribution-3.6.0.Final ...
- hibernate集合映射inverse和cascade详解
hibernate集合映射inverse和cascade详解 1.到底在哪用cascade="..."? cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或 ...
- Tomcat配置(二):tomcat配置文件server.xml详解和部署简介
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Tomcat(二):tomcat配置文件server.xml详解和部署简介
Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...
- Maven配置文件setting.xml详解
注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...
- Maven全局配置文件settings.xml详解(转)
Maven全局配置文件settings.xml详解 目录 一.概要 1.settings.xml的作用2.settings.xml文件位置3.配置的优先级 二.settings.xml元素详解 1 ...
- Logback简介及配置文件logback.xml详解
logback简介及配置文件说明 @author:wangyq @date:2021年3月31日 logback简介 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: htt ...
随机推荐
- 【视频编解码·学习笔记】8. 熵编码算法:基本算法列举 & 指数哥伦布编码
一.H.264中的熵编码基本方法: 熵编码具有消除数据之间统计冗余的功能,在编码端作为最后一道工序,将语法元素写入输出码流 熵解码作为解码过程的第一步,将码流解析出语法元素供后续步骤重建图像使用 在H ...
- Hive数据倾斜总结
倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标.由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜.大量经验表明数据倾斜的原因是人为的建表疏忽或业务 ...
- 使用BEM命名规范来组织CSS代码
BEM 是 Block(块) Element(元素) Modifier(修饰器)的简称 使用BEM规范来命名CSS,组织HTML中选择器的结构,利于CSS代码的维护,使得代码结构更清晰(弊端主要是名字 ...
- MySQL Crash Errcode: 28 - No space left on device
一台MySQL服务器突然Crash了,检查进程 ps -ef | grep -i mysql 发现mysqld进程已经没有了, 检查错误日志时发现MySQL确实Crash了.具体如下所示: 注意日志中 ...
- HighCharts之2D折线图
HighCharts之2D折线图 1.HighCharts之2D折线图源码 line.html: <!DOCTYPE html> <html> <head> < ...
- STM32 下的库函数和寄存器操作比较
以 led闪烁中的flashLed函数例子: 库函数操作简单,但是效率不如寄存器操作的高: 寄存器操作很复杂,因为要熟悉上百个寄存器,但是程序效率很高 /**下面是通过直接操作库函数的方式实现IO控制 ...
- freemarker报错之一
freemarker 1.错误描述 java.io.FileNotFoundException: Template user.ftl not found. at freemarker.template ...
- VC++信息安全编程(13)Windows2000/xp/vista/7磁盘扇区读写技术
有些时候,我们读取磁盘文件,会被hook.我们读到的可能并非实际的文件. 我们直接读取磁盘扇区获取数据. 实现磁盘数据的读写,不依赖WindowsAPI. [cpp] view plaincopy v ...
- 提取DirectShow中视频采集的数据
DirectShow中,数据流(Data Flow)都是依次流过各个Filter的.它对数据的管理也有自己的方法,而且并没有向用户提供一个统一的接口,供用户操作数据流.这里以提取视频采集在的每帧为位图 ...
- Android热修复技术原理详解(最新最全版本)
本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结 通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单 ...