- 浏览: 59881 次
- 性别:
- 来自: 成都
文章分类
Hibernate配置文件主要用于配置数据库连接和Hibernate运行时所需的各种属性,这个配置文件应该位于应用程序或Web程序的类文件夹classes中。Hibernate配置文件支持两种形式,一种是xml格式的配置文件,另一种是Java属性文件格式的配置文件,采用“键=值”的形式。建议采用xml格式的配置文件。xml配置文件可以直接对映射文件进行配置,并由Hibernate自动加载,而properties文件则必须在程序中通过编码加载映射文件。
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>
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>
在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。
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>
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>
在上述配置中,Hibernate根据配置文件生成连接,再交给c3p0管理。
发表评论
-
Spring源码分析之IOC2
2013-03-16 23:25 861本篇将介绍下ApplicationCo ... -
Spring源码分析之IOC
2013-03-16 21:40 774先看两种方式在IOC容器取得bean 1 beanFactor ... -
一些在工作中遇到的问题汇总
2012-12-10 23:31 0保留一定的小数位数 1 DecimalFormat ... -
Set集合源码初探
2012-12-06 23:07 0[color=green][size=medium] ... -
一些常用的jar包
2012-12-04 22:44 0一些常用的jar 放在网上方便使用 Did your c ... -
java 获取请求ip
2012-11-20 23:11 3277public class IpUtil { publ ... -
mongodb
2012-11-20 22:09 744mongodb文档, -
padingtoolbar 的扩张
2012-10-31 22:01 0在Ext的原有分页控件中,服务器端方法是根据传入的起始数据记录 ... -
extjs的一些组件
2012-10-17 22:34 724<script type="text/java ... -
extjs
2012-10-14 23:09 639extjs的一些文档 -
jquery ui
2012-09-11 22:54 749一个jquery ui 后台 -
重拾java之线程1
2012-09-10 00:17 965[size=medium] 接触java也有一段时间了,以前选 ... -
dom4j 一些使用
2012-07-30 22:40 0dom4j使用 -
一个http请求
2012-07-18 00:04 0ackage com.sxit.phoenix.common; ... -
读书笔记effective之对所有对象通用的方法
2012-03-18 17:22 899读书笔记effective之对所有对象通用的方法 第一条 覆 ... -
读书笔记effective java 之条目
2012-03-18 15:05 843最近看了下effective java 有编程许多经验值得学 ... -
读书笔记effective java 之通用程序设计3
2012-03-15 22:21 900第五条 基本类型优先于装箱基本类型 java有一个类型系 ... -
读书笔记effective java 之通用程序设计2
2012-03-15 20:59 928第三条 了解和使用类库 ... -
effective java 之通用程序设计
2012-03-15 16:15 770第一条 将局部变量的作用域最小化 将局部变量的作用域最小 ... -
http与socket连接区别
2011-11-08 01:11 474相信不少初学手机联网 ...
相关推荐
在Java的持久化框架Hibernate中,XML配置文件是至关重要的组成部分,它定义了数据库连接、实体映射以及事务管理等核心设置。标题“hibernate支持xml配置文件跳转”指出,Hibernate允许开发者直接从代码中跳转到XML...
3. **实体类与映射文件**: Hibernate通过XML映射文件(.hbm.xml)或注解来定义Java类与数据库表之间的关系,实现对象与关系数据的转换。 4. **Session**: Session是Hibernate的主要工作单元,负责保存、更新和检索...
因为Hibernate在读出hbm.xml文件时需要通过网络读取到hibernate-mapping-3.0.dtd 文件。 如果没有网络不能正常工作。 所以提供上述文件。 以及hibernate-mapping-3.0.dtd,hibernate-configuration-3.0.dtd提供下载...
5. **映射文件(Mapping)**:使用XML文件(.hbm.xml)或注解来定义实体类与数据库表之间的映射关系。 6. **Criteria API**:一种动态查询语言,可以创建灵活的查询,无需编写SQL。 7. **HQL(Hibernate Query ...
### Hibernet要点解析 #### 什么是实体关系 实体关系指的是数据模型中不同实体之间的相互联系。在软件开发中,实体通常被表示为类,并通过这些类来构建应用程序的数据层。实体之间的关系可以是一对一、一对多或多...
1. **配置:**在使用Hibernate时,需要配置`hibernate.cfg.xml`文件,指定数据库连接信息、方言、缓存策略等。 2. **实体类:**定义实体类并使用注解或XML文件来映射数据库表。 3. **SessionFactory与Session:**...
2. **映射文件**:为每个Java实体类创建对应的`.hbm.xml`映射文件,或使用注解在类上直接声明映射。 3. **初始化SessionFactory**:基于配置文件创建SessionFactory对象,它是线程安全的,整个应用只需要一个。 4....
- **映射文件**(User.hbm.xml):定义实体类与数据库表的映射关系。 - **数据库表**(users):存储用户信息的MySQL表。 - **JSP页面**:展示注册表单和反馈信息。 在实际项目中,我们还需要考虑安全性问题,例如...
同时,定义实体类的映射文件(`.hbm.xml`)。 5. **实体类**:创建与数据库表对应的Java类,通过Hibernate注解或者XML映射文件将类与数据库表关联。 6. **DAO层**:定义数据访问对象(DAO),使用Hibernate的...
4. **配置Hibernate2**:创建hibernate.cfg.xml文件,设置数据库连接信息,定义实体类的映射文件(hbm.xml)。 5. **集成Struts1和Spring2**:使用Spring的Struts插件,将Spring管理的Bean注入到Struts的Action中,...
在Hibernate的hbm.xml文件中,一对一关系通过标签,一对多关系通过、、或标签来定义。需要详细指定实体类名、主键列名以及关联的外键列名。 2. 注解配置: 在实体类上直接使用@OneToOne、@OneToMany等注解进行关系...