会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
紫色幽灵
软件开发备忘录
博客园
首页
新随笔
联系
管理
订阅
java中配置数据库连接池总结
java中配置数据库连接池总结
在tomcat下配置mysql数据源
1.1
配置server.xml
在tomcat5.
0
-->
conf
-->
server.xml的
<
host
></
host
>
标记中加入以下代码:
<
Context path
=
"
/hibernate_test
"
reloadable
=
"
true
"
docBase
=
"
E:\testeclipse\workspace\myhibernate_test\hibernate_test
"
workDir
=
"
E:\testeclipse\workspace\myhibernate_test\work
"
>
<
Resource name
=
"
jdbc/list
"
auth
=
"
Container
"
type
=
"
javax.sql.DataSource
"
/>
<
ResourceParams name
=
"
jdbc/list
"
>
<
parameter
>
<
name
>
factory
</
name
>
<
value
>
org.apache.commons.dbcp.BasicDataSourceFactory
</
value
>
</
parameter
>
<
parameter
>
<
name
>
driverClassName
</
name
>
<
value
>
org.gjt.mm.mysql.Driver
</
value
>
</
parameter
>
<
parameter
>
<
name
>
url
</
name
>
<
value
>
jdbc:mysql:
//
10.71.0.187:8000/test?characterEncoding=gbk</value>
</
parameter
>
<
parameter
>
<
name
>
username
</
name
>
<
value
>
omnipay
</
value
>
</
parameter
>
<
parameter
>
<
name
>
password
</
name
>
<
value
>
omnipay
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxActive
</
name
>
<
value
>
20
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxIdle
</
name
>
<
value
>
20
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxWait
</
name
>
<
value
>-
1
</
value
>
</
parameter
>
</
ResourceParams
>
</
Context
>
或者在Tomcat
5.0
\conf\Catalina\localhost目录下添加一个和web项目同名的一个xml文件,内容如下:
<
Context path
=
"
/list_test
"
reloadable
=
"
true
"
docBase
=
"
list_test
"
>
<
Resource name
=
"
jdbc/list
"
auth
=
"
Container
"
type
=
"
javax.sql.DataSource
"
/>
<
ResourceParams name
=
"
jdbc/list
"
>
<
parameter
>
<
name
>
factory
</
name
>
<
value
>
org.apache.commons.dbcp.BasicDataSourceFactory
</
value
>
</
parameter
>
<
parameter
>
<
name
>
initialSize
</
name
>
<
value
>
5
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxActive
</
name
>
<
value
>
20
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxIdle
</
name
>
<
value
>
10
</
value
>
</
parameter
>
<
parameter
>
<
name
>
minIdle
</
name
>
<
value
>
5
</
value
>
</
parameter
>
<
parameter
>
<
name
>
timeBetweenEvictionRunsMillis
</
name
>
<
value
>
300000
</
value
>
</
parameter
>
<
parameter
>
<
name
>
maxWait
</
name
>
<
value
>
10000
</
value
>
</
parameter
>
<
parameter
>
<
name
>
removeAbandoned
</
name
>
<
value
>
true
</
value
>
</
parameter
>
<
parameter
>
<
name
>
removeAbandonedTimeout
</
name
>
<
value
>
60
</
value
>
</
parameter
>
<
parameter
>
<
name
>
logAbandoned
</
name
>
<
value
>
false
</
value
>
</
parameter
>
<
parameter
>
<
name
>
username
</
name
>
<
value
>
omnipay
</
value
>
</
parameter
>
<
parameter
>
<
name
>
password
</
name
>
<
value
>
omnipay
</
value
>
</
parameter
>
<
parameter
>
<
name
>
driverClassName
</
name
>
<
value
>
com.mysql.jdbc.Driver
</
value
>
</
parameter
>
<
parameter
>
<
name
>
url
</
name
>
<
value
>
jdbc:mysql:
//
10.71.0.187:8000/test?characterEncoding=gbk</value>
</
parameter
>
</
ResourceParams
>
</
Context
>
或者在struts_config.xml中添加以下代码:
<
data
-
sources
>
<
data
-
source key
=
"
org.apache.struts.action.DATA_SOURCE
"
type
=
"
org.apache.commons.dbcp.BasicDataSourceFactory
"
>
<
set
-
property property
=
"
password
"
value
=
"
omnipay
"
/>
<
set
-
property property
=
"
minCount
"
value
=
""
/>
<
set
-
property property
=
"
maxCount
"
value
=
""
/>
<
set
-
property property
=
"
user
"
value
=
"
omnipay
"
/>
<
set
-
property property
=
"
driverClass
"
value
=
"
com.mysql.jdbc.Driver
"
/>
<
set
-
property property
=
"
description
"
value
=
"
jdbc/jndi
"
/>
<
set
-
property property
=
"
url
"
value
=
"
http://localhost:8000/test
"
/>
<
set
-
property property
=
"
readOnly
"
value
=
"
false
"
/>
<
set
-
property property
=
"
autoCommit
"
value
=
"
false
"
/>
<
set
-
property property
=
"
loginTimeout
"
value
=
""
/>
</
data
-
source
>
</
data
-
sources
>
1.2
配置web.xml
在web.xml中添加以下代码:
<
web
-
app
>
<
description
>
MySQL Test App
</
description
>
<
resource
-
ref
>
<
description
>
DB Connection
</
description
>
<
res
-
ref
-
name
>
jdbc
/
TestDB
</
res
-
ref
-
name
>
<
res
-
type
>
javax.sql.DataSource
</
res
-
type
>
<
res
-
auth
>
Container
</
res
-
auth
>
</
resource
-
ref
>
</
web
-
app
>
1.3
访问数据库的java代码
DbConnection.java
import
java.sql.Connection;
import
java.sql.SQLException;
import
javax.naming.Context;
import
javax.naming.InitialContext;
import
javax.sql.DataSource;
/** */
/**
* @date 2006-1-3
*
@author
user 数据库连接的通用类
*/
public
final
class
DbConnection
{
private
static
DbConnection dbConn;
private
DbConnection()
throws
SQLException
{
}
//
获得数据库连接
public
synchronized
Connection getConnection()
throws
SQLException
{
Connection con
=
null
;
try
{
InitialContext ctx
=
new
InitialContext();
Context ct
=
(Context) ctx.lookup(
"
java:comp/env
"
);
DataSource ds
=
(DataSource) ct.lookup(
"
jdbc/omnipay
"
);
con
=
ds.getConnection();
}
catch
(Exception e)
{
e.printStackTrace();
}
return
con;
}
public
static
synchronized
DbConnection getInstance()
throws
SQLException
{
if
(dbConn
==
null
)
{
dbConn
=
new
DbConnection();
}
return
dbConn;
}
}
写一个数据库访问类
1.4
写一个action类及jsp页面测试一下就OK了
posted @
2008-01-09 12:32
紫色幽灵
阅读(
980
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部