Hibernate学习:hibernate.cfg.XML文件中与数据库的两种连接
(1)Hibernate自行管理连接池
编写Hibernate配置文件(hibernate.cfg.xml)
<?xml version='1.0' encoding='GBK'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="show_sql">true</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.driver_class">com.mysql.JDBC.Driver</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/HibernateTest?useUnicode=true&characterEncoding=GBK
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<mapping resource="com/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
(2)使用外部服务器提供的数据库连接池(以Tomcat为例)
分为两步:Tomcat会提供经过池处理的JDBC连接(用它内置的DBCP连接池),Hibernate通过JNDI方式来请求获得JDBC连接。
a.Tomcat把连接池绑定到JNDI,我们要在Tomcat的主配置文件(TOMCAT/conf/server.xml)中加一个资源声明:
<Context path="/quickstart" docBase="quickstart" reloadable="true">
<Resource name="jdbc/quickstart" scope="Shareable" type="Javax.sql.DataSource"/>
<ResourceParams name="jdbc/quickstart">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- DBCP database connection settings -->
<parameter>
<name>url</name>
<!--HibernateTest 是mysql中的一个schema-->
<value>jdbc:mysql://localhost:3306/HibernateTest?useUnicode=true&characterEncoding=GBK</value>
</parameter>
<parameter>
<name>driverClassName</name><value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>root</value>
</parameter>
<!-- DBCP connection pooling options -->
<parameter>
<name>maxWait</name>
<value>3000</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
</ResourceParams>
</Context>
我们在这个例子中要配置的上下文叫做quickstart,它位于TOMCAT/Webapp/quickstart目录下。
Tomcat现在通过JNDI的方式:java:comp/env/jdbc/quickstart来提供连接。
b.下一步就是配置Hibernate。首先Hibernate必须知道它如何获得JDBC连接,在这里我们使用基于XML格式的Hibernate配置文件(hibernate.cfg.xml)。
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.datasource">java:comp/env/jdbc/quickstart</property>
<property name="show_sql">false</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- Mapping files -->
<mapping resource="com/jason/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
配置好了,我们就可以编写一个Servlet来测试。
参考资料
hibernate-3.0\doc\reference\zh-cn
参考:http://www.west263.com/info/html/chengxusheji/Javajishu/20080226/46673_2.html
分享到:
相关推荐
在Hibernate中配置数据库连接池,可以使数据库操作更加高效和便捷。这里有两种常见的配置方法: 1. **C3P0**: C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在...
在一个典型的 Hibernate 应用程序中,数据库密码通常会被写入到配置文件中,以便于应用程序连接到数据库。然而,这样做存在一定的安全风险,因为配置文件可能会被未经授权的访问,从而导致数据库密码泄露。 为了...
在这个场景下,"ssh整合带hibernate配置文件"的标题表明我们要讨论如何在SSH架构中配置Hibernate,特别是在Spring框架内进行事务管理。 首先,让我们了解SSH框架的核心组件: 1. **Spring**:这是一个全面的Java...
总结,Hibernate配置文件JAR包包含了一系列配置和映射信息,使得开发者能便捷地在Java应用中实现与数据库的交互。理解并熟练运用这些配置和API,将有助于提升开发效率,构建稳定、高效的数据库驱动应用。
配置连接池通常在Hibernate的配置文件(如`hibernate.cfg.xml`)中完成。 在实际开发中,为了提高性能和响应速度,还可以考虑使用缓存机制,如一级缓存(Session级别的缓存)和二级缓存(SessionFactory级别的缓存...
总结起来,Hibernate配置文件是连接Java应用程序和数据库的关键,它们定义了数据库连接参数,确定了数据类型处理方式,并指明了对象和表的映射。使用`hibernate.properties`或`hibernate.cfg.xml`,开发者可以轻松地...
2. **Hibernate配置文件**: - **hibernate.cfg.xml**:这是Hibernate的核心配置文件,包含数据库连接信息(如URL、用户名、密码)、JDBC驱动、缓存策略、实体类映射等。 - **实体类映射文件(.hbm.xml)**:每个...
《Hibernate配置文件与类映射详解》 Hibernate作为一款强大的对象关系映射(ORM)框架,简化了Java应用与数据库之间的交互。本文将深入探讨Hibernate的配置文件和类映射文件的常用写法,帮助开发者更好地理解和应用...
Hibernate配置文件可以采用两种格式: 1. **`hibernate.properties`**:一种基于属性文件的格式。 2. **`hibernate.cfg.xml`**:一种基于XML的格式,更常见且功能更强大。 通常情况下,推荐使用`hibernate.cfg.xml`...
本项目"SpringBoot+Hibernate+MySQL+SQLServer双数据源"正为此目的设计,它利用SpringBoot的灵活性和便利性,结合Hibernate的ORM能力,实现了对MySQL和SQLServer两种主流数据库的支持,为数据迁移、读写分离、高可用...
在Java的持久层框架Hibernate中,管理数据库连接是非常重要的任务,因为频繁地创建和关闭连接会消耗大量的系统资源。为了优化这一过程,开发者通常会选择使用连接池,它能有效地复用已建立的数据库连接,从而提高...
2. **配置映射文件**:使用XML映射文件(或注解)定义实体类与数据库表的映射,包括主键、属性与列的对应、以及多对多关系的中间表设置。 3. **中间表的配置**:创建一个无意义的联合主键,通常由两个外键组成,分别...
Struts和Hibernate是两个在Java Web开发中常用的框架。Struts主要用于MVC(Model-View-Controller)架构,提供了一种组织应用程序的方式,而Hibernate是一个对象关系映射(ORM)工具,用于简化数据库操作。本篇文章...
首先,Hibernate配置文件有两类型:`hibernate.properties`和`hibernate.cfg.xml`。它们存储了一系列属性和对应的值,用于指导Hibernate如何与数据库建立连接。这两种文件都需要放置在Web应用的上下文类路径(WEB-...
二、Hibernate配置文件 1. **hibernate.cfg.xml**:这是Hibernate的主要配置文件,包含了数据库连接信息、缓存设置、方言等关键配置。例如: ```xml <hibernate-configuration> <property name="hibernate....
在`Hibernate`与`Spring`的整合中,通常会有一个`hibernate.cfg.xml`配置文件,用来定义数据库连接信息、实体类的映射等。同时,`Spring`的配置文件(如`applicationContext.xml`)中会包含`Hibernate`的相关bean...
此外,还需要创建或修改Hibernate配置文件,该文件通常包含以下关键部分: 1. **配置文件**:用于初始化Hibernate SessionFactory,其中包含数据库连接信息、使用的方言(Dialect)、事务管理策略等。 2. **实体类...
Hibernate简化了数据库操作,通过配置文件(hibernate.cfg.xml)设定数据库连接信息,然后使用Entity类来映射数据库表。当我们需要保存或查询数据时,只需操作这些对象,Hibernate会自动完成SQL语句的生成和执行。在...