浅析Hibernate.cfg.xml配置

开发 后端
这里介绍Hibernate.cfg.xml配置的配置格式,以及介绍c3p0连接池是Hibernate推荐使用的连接池,若需要使用该连接池时,需要将c3p0的jar包加入到classpath中。

学习Hibernate时,经常会遇到Hibernate.cfg.xml配置问题,这里将介绍Hibernate.cfg.xml配置问题的解决方法。

Hibernate的描述文件可以是一个properties属性文件,也可以是一个xml文件。下面讲一下Hibernate.cfg.xml配置。配置格式如下:

1. 配置数据源

可以Hibernate.cfg.xml配置JDBC,也可以配置JNDI.在本小节中讲述数据源如何配置。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC  
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
<!-- 各属性的配置--> 
<!—为true表示将Hibernate发送给数据库的sql显示出来 --> 
<property name="show_sql">true</property> 
<!-- SQL方言,这边设定的是MySQL --> 
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 
<!-- 一次读的数据库记录数 --> 
<property name="jdbc.fetch_size">50</property> 
<!-- 设定对数据库进行批量删除 --  
<property name="jdbc.batch_size">30</property> 
<!—下面为JNDI的配置 --> 
<!-- 数据源的名称 --> 
<property name="connection.datasource">java:comp/env/jdbc/datasourcename</property> 
<!-- Hibernate的连接加载类 --> 
<property name="connection.provider_class">net.sf.hibernate.
connection.DatasourceConnectionProvider
</property>  <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>  <!—映射文件 -->  <mapping resource="com/amigo/pojo/User.hbm.xml"/>  <mapping resource="com/amigo/pojo/Org.hbm.xml"/>  </session-factory>  </hibernate-configuration> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

2. c3p0连接池

c3p0连接池是Hibernate推荐使用的连接池,若需要使用该连接池时,需要将c3p0的jar包加入到classpath中。c3p0连接池的配置示例如下:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC  
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory 
<!-- 显示实际操作数据库时的SQL --> 
<property name="show_sql">true</property> 
<!-- SQL方言,这边设定的是MySQL --> 
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 
<!--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置 --> 
<property name="connection.driver_class">……</property 
<!-- JDBC URL --> 
<property name="connection.url">……</property> 
<!-- 数据库用户名 --> 
<property name="connection.username">user</property> 
<!-- 数据库密码 --> 
<property name="connection.password">pass</property> 
<property name="c3p0.min_size">5</property 
<property name="c3p0.max_size">20</property> 
<property name="c3p0.timeout">1800</property> 
<property name="c3p0.max_statements">50</property> 
<!-- 对象与数据库表格映像文件 --> 
<mapping resource="com/amigo/pojo/User.hbm.xml"/> 
<mapping resource="com/amigo/pojo/Org.hbm.xml"/> 
</session-factory> 
</hibernate-configuration> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。

【编辑推荐】

  1. Hibernate专业知识介绍
  2. 讨论Hibernate和模型对象
  3. Hibernate查询缓存全面分析
  4. 概括Hibernate主键生成机制
  5. Hibernate Pager基础介绍
责任编辑:佚名 来源: 新浪科技
相关推荐

2009-06-18 15:05:11

2009-06-02 14:12:26

Hibernate配置文件格式

2009-09-24 15:03:30

Hibernate配置

2009-09-25 10:49:25

Hibernate加载

2009-09-25 16:55:08

Hibernate初始

2009-09-21 17:10:14

struts Hibe

2009-09-22 10:23:15

Hibernate配置

2009-09-21 14:59:31

Hibernate二级

2009-06-23 18:18:13

SpringHibernate

2014-07-31 11:40:08

ssh

2012-04-06 10:35:30

SpringJavaHibernate

2009-06-11 14:43:34

jbpm工作流引擎jBPM搭建

2009-06-16 13:27:59

Hibernate x

2009-09-29 15:52:26

Hibernate X

2009-07-17 16:49:18

iBATIS XML配

2009-09-28 17:23:51

Hibernate E

2009-09-21 12:50:34

Hibernate架构

2009-09-21 18:13:11

Hibernate S

2009-09-23 10:19:08

Hibernate分页

2009-09-23 17:28:55

Hibernate C
点赞
收藏

51CTO技术栈公众号