Hibernate之深入Hibernate的配置文件
1.创建Configuration类的对象
Configuration类的对象代表了应用程序到SQL数据库的映射配置。Configuration类的实例对象,提供一个buildSessionFactory()方法,该方法可以产生一个唯一的
SessionFactory类的对象。
根据使用的配置文件不同,得到这个代表了应用程序到SQL数据库的映射配置的Configuration类的对象方法也不同:
(1)使用hibernate.cfg.xml配置文件
Configuration cfg = new Configuration().configure();
通过新建的Configuration类对象,调用configure()方法 ,会自动加载hibernate.cfg.xml配置文件,而hibernate.cfg.xml配置文件中又引入了映射文件,所以最终返回的Configuration类对象 拿到了应用程序到SQL数据库的映射配置。
(2)使用hibernate.properties配置文件
Configuration cfg = new Configuration().addResource("News.hbm.xml").addResource("Bird.hbm.xml");
通过新建的Configuration类对象,调用addResource("News.hbm.xml")的方式去加载映射文件,因为hibernate.properties配置文件中没有指定映射文件,只有这样主动的加载映射文件,才能得到 拿到了应用程序到SQL数据库的映射配置的Configuration类对象 。
不推荐使用使用hibernate.properties配置文件,来获得Configuration类的对象。
(3)不使用任何配置文件
不使用任何文件,通过硬编码耦合的方式得到Configuration类对象 。
这种方式不推荐,因为不灵活,代码量大。
2.配置文件中的JDBC连接属性:
其中推荐使用C3P0数据源的方式连接数据库:
hibernate.connection.driver_class 属性 : 指定连接数据库的驱动类
hibernate.connection.url 属性 : 指定连接数据库服务的URL
hibernate.connection.username 属性 : 连接数据库的用户名
hibernate.connection.pool_size 属性 :设置采用默认DriverManager方式时,连接池的最大并发数 ,若采用C3P0数据源的方式,则不用指定该属性
hibernate.dialect 属性 :连接数据库所使用的方言
C3P0数据源属性:
hibernate.c3p0.max_size 属性 : 连接池的最大连接数
hibernate.c3p0.min_size 属性 : 连接池的最小连接数
hibernate.c3p0.timeout 属性 : 连接的超时时长
hibernate.c3p0.max_statements 属性 : 缓存Statement的数量
3.配置文件中的数据库方言
Hiberante底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持标准的SQL语句,但是所有的数据库都对标准SQL进行了扩展。所有不同的数据库在SQL的语法细节上有所差异 ,从而形成了数据库方言.
只要我们设置了合适的数据库方言,Hibernate就会自动应付底层数据库访问的上的细节差异。
hibernate.dialect 属性 :连接数据库所使用的方言
常用数据库的方言 可以网络查询。
4.可选的JNDI数据源的连接属性
可以使用默认的DriverManager ,也可使用C3P0数据源,也可使用JNDI数据源的方式来连接数据库。
如果无须Hibernate自己管理数据源,而是直接访问容器管理数据源,Hibernate可以使用JNDI (Java Naming Directory Interface ,java命名目录接口)数据源。
相关属性:
hibernate.connection.datasource 属性 : 数据源JNDI名字
hibernate.jndi.url 属性 :指定JNDI提供者的URL .如果该应用引入了JNDI ,则无须指定该属性
hibernate.jndi.class 属性 : 指定JNDI实现类 .如果该应用引入了JNDI ,则无须指定该属性
hibernate.connection.username 属性 : 数据库用户名
hibernate.connection.password 属性 :数据库的密码
5.配置文件中的Hibernate事务 属性
6.配置文件中二级缓存相关属性
7.配置文件中外连抓取属性
8.配置文件中指定映射文件
保证映射文件,和它对应的持久化类文件 在同一个目录中。
<mapping resource="org/fkjava/test/News.hbm.xml" />
9.其他常用属性 :
hibernate.show_sql 属性 :是否在控制台输出Hibernate生成的SQL语句 。 可选值 true 和 false
hibernate.format_sql 属性 :是否将SQL语句转化成形式良好的格式 。可选值 true 和 false
hibernate.hbm2ddl.auto 属性 :当创建SessionFactory时,是否根据映射文件中的配置自动创建数据表。可选值 update ,create 和create-drop。其中如果使用create-drop值 当显示关闭 SessionFactory类的对象时,将drop刚创建的数据表。
Hibernate之深入Hibernate的配置文件的更多相关文章
- Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml
转自:http://www.cnblogs.com/wj-wangjun/archive/2009/10/21/1587624.html Hibernate SQL方言 (hibernate.dial ...
- hibernate.cfg.xml hibernate 配置文件模板
<?xml version='1.0' encoding='UTF-8'?> <!--表明解析本XML文件的DTD文档位置,DTD是Document Type Definition ...
- hibernate篇章三-- hibernate配置文件hibernate.cfg.xml的详细解释
<!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' ...
- Hibernate(三)之配置文件详解
一.核心配置文件(hibernate.cfg.xml) <?xml version="1.0" encoding="UTF-8"?> <!DO ...
- Hibernate 系列 02 - Hibernate介绍及其环境搭建
引导目录: Hibernate 系列教程 目录 昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归 ...
- Hibernate 系列 04 - Hibernate 配置相关的类
引导目录: Hibernate 系列教程 目录 前言: 通过上一篇的增删改查小练习之后,咱们大概已经掌握了Hibernate的基本用法. 我们发现,在调用Hibernate API的过程中,虽然Hib ...
- (Hibernate进阶)Hibernate系列——总结篇(九)
这篇博文是hibernate系列的最后一篇,既然是最后一篇,我们就应该进行一下从头到尾,整体上的总结,将这个系列的内容融会贯通. 概念 Hibernate是一个对象关系映射框架,当然从分层的角度看,我 ...
- (Hibernate进阶)Hibernate基本映射(三)
介绍Hibernate的经典内容:对象关系映射.主要介绍映射的基本概念,映射的分类,映射文件. 概念 ORM(Object Relational Mapping),即对象关系映射.它的作用就是在关系型 ...
- Hibernate学习0.Hibernate入门
Hibernate是什么 面向java环境的对象/关系数据库映射工具. 1.开源的持久层框架. 2.ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据 ...
- hibernate.properties与hibernate.cfg.xml 区别
Hibernate的数据库连接信息是从配置文件中加载的. Hibernate的配置文件有两种形式:一种是XML格式的文件,一种是properties属性文件. 一)hibernate.cfg.xml ...
随机推荐
- 【BZOJ2843】极地旅行社(Link-Cut Tree)
[BZOJ2843]极地旅行社(Link-Cut Tree) 题面 BZOJ 题解 \(LCT\)模板题呀 没什么好说的了.. #include<iostream> #include< ...
- 【CJOJ1644】【洛谷2758】编辑距离
题面 题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一个字符: 皆为小 ...
- iOS开发--XMPPFramework--环境的配置(一)
一.XMPPFramework概述 XMPPFramework是一个OS X/iOS平台的开源项目,使用Objective-C实现了XMPP协议(RFC-3920),同时还提供了用于读写XML的工具, ...
- 服务器安装centos
谈一下今天遇到的problem,虽然很基础,但是还是值得记录一下: 1.制作启动盘,并不需要使用UltralISO刻录,可以通过在linux下dd命令直接制作iso镜像启动盘下面是步骤: 1)打开终端 ...
- 使用Dreamweaver正则表达式替换href中的内容
在Dreamweaver中使用正则表达式替换href中的内容,就像下面这些href中的内容复杂多样的情况下,href="/html/u.html",href="/tuho ...
- PostGis常用函数中文介绍
记录常用PostGis常用函数: 1.OGC标准函数 管理函数: 添加几何字段 AddGeometryColumn(, , , , , ) 删除几何字段 DropGeometryColumn(, , ...
- 浅析JavaScript的prototype
一.JavaScript对象的创建 (1)对象方法 function Student(name){ this.name=name; this.showName=function(){ alert(&q ...
- 使用html元素的getBoundingClientRect来获取dom元素的时时位置和大小
使用: var section = $('.section'):这是jquery包装的dom元素,其他前端框架返回的可能也是一个包装元素, 我们需要获得的是里面的html的dom元素 然后:secti ...
- JS面向对象与面向过程
前言 面向对象编程: 就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属性)与动作(方法)--这个对象就称之为类 面向过程编程: 特点:封装,就是将你需要的功能放在一个对象里面 ------ ...
- 【漏洞】PHPCMS_V9.6.0 前台注册GETSHELL
首先准备一台公网服务器,在上面新建一个一句话的txt文件.如下: 接着打开目标网站,点击注册,填写信息后点击提交,拦截该数据包. 将其中post提交的数据替换成我们的poc,poc如下: siteid ...