hibernate配置文件中与数据库的两种连接

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值