方法/步骤
打开tomcat目录,进入conf配置目录,有个context.xml文件,一般建议把数据源配置放在这个文件里进行配置,放在server.xml也是可以的,但不建议这么做,server.xml文件一般是tomcat服务相关的配置
添加Resource节点,name就是JNDI资源访问的名称,注意和应用程序中保持一致,然后配置用户名和密码信息,如果是mysql,配置driverClass的就是mysql的驱动程序的类路径,如果是oracle,就配置对应的oracle驱动类路径。
maxPoolSize,minPoolSize,initialPoolSize这些是连接池相关的配置,可以根据应用的需要配置,一次配置不合适,可以多次调整
<Resource
name="jdbc/chargeService"
auth="Container"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
factory="org.apache.naming.factory.BeanFactory"
user="root"
password="xxx"
driverClass="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://xxx:3306/bus"
maxPoolSize="5"
minPoolSize="2"
initialPoolSize="3"
acquireIncrement="1"
maxIdleTime="300"
acquireRetryAttempts="30"
acquireRetryDelay="1000"
unreturnedConnectionTimeout="3000"
debugUnreturnedConnectionStackTraces="true"
checkoutTimeout="5000"
idleConnectionTestPeriod="60"
preferredTestQuery="SELECT CURRENT_USER"
/>
这里我们使用的数据源连接池是c3p0,所以得引入c3p0的c3p0-0.9.1.2.jar包,连接池的jar可以按照自己的需要选择,相关的实现方式有(dbcp,c3p0,proxool,druid)
这里我们使用的mysql数据库,所以引入的是mysql-connector-java-5.1.30.jar驱动包,如果是oracle或其它数据库,引入对于数据库的驱动包即可,然后在driverClass配置对于的驱动程序的类路径
tomcat数据源配置上之后,就可以在我们的应用程序中来获取数据源了。通过spring的
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/chargeService</value>
</property>
</bean>
方法来获取
高版本的spring为我们提供了
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/chargeService"/>
方式配置,这种方式更为简洁方便,使用方式是一样的
Tomcat数据源连接池的配置@@@@@@首先在lib目录下安装驱动
一、首先利用tomcat的web管理配置数据源,有以下几项
1 Jndi name :数据源连接池命名
2 Data Source URL: jdbc:mysql://localhost/test mysql是数据库类型,test是数据库名字 localhost是表示用本地的数据库
3 JDBC Driver Class: 数据库驱动类 mysql使用org.gjt.mm.mysql.Driver
4 User name 是数据库的用户名 5 Password是数据库的密码
6 Max.Active Connections: 最大的活动连接数
6 Max.ldle Connections:最大的空闲连接数
7 Max.Wait for Connection: 最大的等待连接数
以上配置完毕点击Save--Commit Changes--Log out
二、在tomcat安装目录下/conf/web.xml中添加如下信息
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name> //要使用的数据源的名字
<res-type>javax.sql.DataSource</res-type> //数据源的类型
<res-auth>Container</res-auth> //和一中的一致
</resource-ref>
三、在tomcat安装目录下/conf/catalina/localhost目录下找到当前项目的配置信息(项目名.xml),添加
<ResourceLink name="jdbc/mysql" global="jdbc/mysql" type="javax.sql.DataSource"/>
以上完成了连接池的配置
第二种就是
1 把第一种步骤1里产生的代码放入tomcat安装目录下/conf/catalina/localhost/项目名.xml中
产生代码如下:
<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
<Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/mysql">
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/test</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
2 在tomcat安装目录下/conf/web.xml中添加如下信息
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysql</res-ref-name> //要使用的数据源的名字
<res-type>javax.sql.DataSource</res-type> //数据源的类型
<res-auth>Container</res-auth>
</resource-ref>
两者的区别是作用域不同
数据库连接测试:
InitialContext ctx = new InitialContext()
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql")
conn = ds.getConnection()
中文显示问题:
public static String toChinese(String strvalue) {
try{
if(strvalue==null)
{
return null
}
else {
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK")
return strvalue
}
}catch(Exception e){
return null
}
}
配置MYSQL数据源Custom-WMS在\tomcat6\tomcat6\conf下context.xml添加
<Context>
<Resource name="CustomDS"
auth="Container"
type="javax.sql.DataSource"
username="test"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.100:3306/test"
maxActive="100"
maxIdle="30"
maxWait="5000"/>
</Context>
数据库服务器的地址是:192.168.1.100
数据库名是:test
用户名:test
密码:password
端口:3306
登陆字符集:gbk
放置MYSQL驱动
位置如:\tomcat6\tomcat6\lib下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)