现在的位置: 首页 > 综合 > 正文

tomcat配置数据源

2018年05月21日 ⁄ 综合 ⁄ 共 1651字 ⁄ 字号 评论关闭

以tomcat为例,为了使hibernate从容器中获得数据源,需要分别配置tomcat容器和hibernate:
1,在tomcat容器中配置数据源;2,在hibernate的配置文件中指定使用容器中的数据源。

tomcat的配置文件server.xml中,<Resource>元素用来配置JNDI资源,它允许把数据源也发布为JNDI资源,如:
<Resource name="jdbc/SAMPLEDB" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/SAMPLEDB">
<parameter>
   <name>factory</name>
   <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
   <name>maxActive</name>
   <value>100</value>
</parameter>
<parameter>
   <name>maxIdle</name>
   <value>30</value>
</parameter>
<parameter>
   <name>maxWait</name>
   <value>10000</value>
</parameter>
<parameter>
   <name>username</name>
   <value>root</value>
</parameter>
<parameter>
   <name>password</name>
   <value>1234</value>
</parameter>
<parameter>
   <name>driverClassName</name>
   <value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
   <name>url</name>
   <value>jdbc:mysql://loaclhost:3306/SAMPLEDB?autoReconnection=true</value>
</parameter>
</ResourceParams>
以上代码设置了<Resource>和<ResourceParams>元素。
<Resource>的属性值描述如下:
name:指定resource的JNDI名字。
auth:指定管理resource的manager,它有两个可选的值:Container和Application;分别表示由容器和由WEB应用程序来创建和管理resource。
type:指定resource所属的Java类名。
在<ResourceParams>元素中指定了配置数据源的各种参数:
factory:生成DataSource的factory类名。
maxActive:数据库连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制。
maxIdle:数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制。
maxWait:数据库连接池中的数据库连接处于空闲状态的时长时间,以毫秒为单位,超过这一时间,将会抛出异常,取值为-1,表示可以无限制等待。
username:数据库用户名
password:数据库密码
driverClassName:JDBC驱动程序
url:数据库连接URL。

hibernate的配置文件中配置如下:
hibernate.connection.datasource=java:comp/env/jdbc/SAMPLEDB
指定数据源时,必须提供完整的JNDI名字。因为使用了数据源,所以在hibernate配置文件中无须再指定以下参数:hibernate.connection.url,hibernate.connection.username,hibernate.connection.password。

抱歉!评论已关闭.