数据源配置:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
<Resource auth="Container"
driverClassName="com.mysql.jdbc.Driver"
type="javax.sql.DataSource"
name="jdbc/datasuourcePool"
url="jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=GBK&autoReconnect=true"
username="zhangh"
password="123456"
logAbandoned="true"
maxActive="5"
maxIdle="2"
maxWait="5000"
removeAbandoned="true"
removeAbandonedTimeout="300"
testOnReturn="true"
testWhileIdle="true"
validationQuery="select now()"/>
</Context>
容器管理连接池,连接通过数据源取得
注意:数据库连接jar包要放到Tomcat(小弟用的是tomcat)的lib目录,不然会报找不到Driver的错误。我想原因大概是由容器管理连接池,就是在服务器启动的时候,就会建立好连接池,这个时候肯定是需要数据库连接的jar包。也就是连接的jar包在应用运行之前就已经使用到了,所以放在应用的lib下也不会解决问题。
<?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> <!-- 交由容器管理数据库连接池 --> <property name="connection.datasource">java:comp/env/jdbc/datasuourcePool</property> <property name="connection.provider_class">org.hibernate.connection.DatasourceConnectionProvider</property> <!-- 配置默认schema <property name="hibernate.default_schema" value="myschema"/> --> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> <!-- 配置实体映射 --> <mapping resource="com/akwolf/bean/Event.hbm.xml"/> </session-factory> </hibernate-configuration>
本文介绍如何在Hibernate中配置C3P0连接池,包括数据库连接设置、连接池参数调整等内容。同时展示了如何利用容器管理连接池,提供了一种更为灵活的数据库连接管理方式。
1752

被折叠的 条评论
为什么被折叠?



