Tomcat数据源的配置

时间:2022-06-29 19:10:02

今天准备做个JSF + Spring + JPA的整合,用Tomcat作服务器,用JPA通常来说都是用数据源的,于是有了此篇文章

1.在Tomcat要目录/conf/context.xml中添加数据源配置

Xml代码
  1. <Resource name="jdbc/jsj" auth="Container" type="javax.sql.DataSource"  
  2.     maxActive="100" maxIdle="30" maxWait="1000"  
  3.     username="root" password="root" url="jdbc:mysql://127.0.0.1:3306/jsf"    
  4.     driverClassName="com.mysql.jdbc.Driver" />  
<Resource name="jdbc/jsj" auth="Container" type="javax.sql.DataSource"
	maxActive="100" maxIdle="30" maxWait="1000"
	username="root" password="root" url="jdbc:mysql://127.0.0.1:3306/jsf" 
	driverClassName="com.mysql.jdbc.Driver" />
属性 说明
name 指定Resource的JNDI名字
auth 指定Resource的Manager,它有两个可选值:Container和Application。Container表示由窗口来创建Resource,Application表示由Web应用来创建和管理Resource
type 指Resource所属的Java类名
maxActive 指数据库连接池中处于活动状态的数据库连接的最大数目,取值为0表示不受限制
maxIdle 指数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制
maxWait 指数据库连接池中处于空闲状态的最长时间(以毫秒为单位),超过这一时间将抛出异常。取值为-1,表示可以无限制时间
username 指定连接数据库的用户名
password 指定连接数据库的密码
driverClassName 指定连接数据库的JDBC驱动程序
url 指定连接数据库的url

2.在项目的web.xml中添加数据源

Xml代码
  1. <resource-ref>  
  2.     <description>datasource</description>  
  3.     <res-ref-name>jdbc/jsj</res-ref-name>  
  4.     <res-type>javax.sql.DataSource</res-type>  
  5.     <res-auth>Container</res-auth>  
  6. </resource-ref>  
<resource-ref>
	<description>datasource</description>
	<res-ref-name>jdbc/jsj</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>
 
属性 说明
description 对所引用资源的说明
res-ref-name 指定所引用资源的JNDI名称,与<Resource>中的name属性一致
res-type 指定所引用资源的类名字,与<Resource>中的type属性一致
res-auth 指定Resource的Manager,与<Resource>元素中的auth属性对应

3.添加数据库驱动文件

把JDBC驱动程序复制到Tomcat根目录/common/lib下

4.JSP中调用数据源