详 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详解的更多相关文章

  1. Hibernate学习(2)- hibernate.cfg.xml详解

    1:主配置文件主要分为三部分: 注意:通常情况下,一个session-factory节点代表一个数据库: 1.1:第一部分 数据库连接部分,注意"hibernate.connection.d ...

  2. Hibernate.cfg.xml详解

    在搭建Hibernate环境时需要配置Hibernate.cfg.xml配置文件,本文将想详细讲解配置文件的内容. 1.数据库连接信息 配置数据库驱动.(其中name为连接方式,我在这写jdbc的连接 ...

  3. Hibernate框架 主配置文件 Hibernate.cfg.xml 映射配置 说明

    1 主配置文件 Hibernate.cfg.xml 主配置文件中主要配置:数据库连接信息.其他参数.映射信息! 常用配置查看源码: hibernate-distribution-3.6.0.Final ...

  4. hibernate集合映射inverse和cascade详解

    hibernate集合映射inverse和cascade详解   1.到底在哪用cascade="..."? cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或 ...

  5. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  6. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

  7. Maven配置文件setting.xml详解

    注:本文来源于:大话JAVA的那些事 <Maven配置文件setting.xml详解> <?xml version="1.0" encoding="UT ...

  8. Maven全局配置文件settings.xml详解(转)

    Maven全局配置文件settings.xml详解   目录 一.概要 1.settings.xml的作用2.settings.xml文件位置3.配置的优先级 二.settings.xml元素详解 1 ...

  9. Logback简介及配置文件logback.xml详解

    logback简介及配置文件说明 @author:wangyq @date:2021年3月31日 logback简介 ​ Logback是由log4j创始人设计的另一个开源日志组件,官方网站: htt ...

随机推荐

  1. Web/app端自动化测试对比

    Web/app端自动化测试 做了一段时间的Android自动化测试,对比个人之前做的web端自动化测试,有一些感想.(由于个人接触的时间也不是太久,很多东西理解也并不深刻,先写下菜鸟时期的感想.) 区 ...

  2. mysql无法启动的结果问题解决

    mac 上homebrew 安装的mysql,已经用了很长时间都没什么问题,今天 ERROR! The server quit without updating PID file (/usr/loca ...

  3. mybatis 3.x源码深度解析与最佳实践(最完整原创)

    mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...

  4. react 父子组件互相通信

    1,父组件向子组件传递 在引用子组件的时候传递,相当于一个属性,例如: class Parent extends Component{ state = { msg: 'start' }; render ...

  5. __proto__ 与 prototype

    先来做个复习,ES5中有有几种数据类型呢? 5种基本数据类型 Undefined Null Boolean Number String 1种复杂数据类型 Object 除了基本数据类型,万物皆对象,记 ...

  6. (转)Hanoi塔问题分析

    转自:http://shmilyaw-hotmail-com.iteye.com/blog/2077098 简介 关于Hanoi塔问题的分析,在网上的文章都写烂了.之所以打算写这篇文章,更多的是针对这 ...

  7. linux之x86裁剪移植---字符界面sdl开发入门

    linux下有没有TurboC2.0那样的画点.线.圆的图形函数库,有没有grapihcs.h,或者与之相对应或相似的函数库是什么?有没有DirectX这样的游戏开发库?SDL就是其中之一. SDL( ...

  8. freemarker中的if...elseif...else语句

    freemarker中的if...elseif...else语句 1.设计示例 <#if student.studentAge lt 12> ${student.studentName}不 ...

  9. VC++信息安全编程(13)Windows2000/xp/vista/7磁盘扇区读写技术

    有些时候,我们读取磁盘文件,会被hook.我们读到的可能并非实际的文件. 我们直接读取磁盘扇区获取数据. 实现磁盘数据的读写,不依赖WindowsAPI. [cpp] view plaincopy v ...

  10. org.apache.catalina.LifecycleException: Failed to start component

    1.错误描述 Using CATALINA_BASE: "D:\NetBeans\apache-tomcat-8.0.12" Using CATALINA_HOME: " ...