为提高系统性能和容量,WEB应用程序一般使用数据源Data Source进行数据库访问,而不是直接创建Connection。
一、Strtus数据源的配置(采用Struts 1.1版本的自带的GenericDataSource)
在 WEB-INF/struts-config.xml 中作如下配置:
<strtus-config>
<data-sources>
<data-source key =" 数据源键名" type ="实现数据源的类名">
<set-property property ="属性名" value =" 属性值" />
</data-source >
</data-soucrces>
...
上述配置中:
data-source | key | 数据源键名 | 用于区分多个数据源,可省略 |
type | 实现数据源的类名 | 可省略,默认为org.apache.struts.util.GenericDataSource实 现 | |
属性 | description | 说明文字 | |
driverClass | 数据库驱动程序 | 如:com.mysql.jdbc.Driver | |
url | 数据库连接串 | 如:jdbc:mysql://localhost:3306/struts | |
user | 用户名 | 如:root | |
password | 密码 | 如:123456 | |
loginTimeout | 连接超时 | 一般应大于100ms | |
minCount | 最小连接数 | 如:1 | |
maxCount | 最大连接数 | 如:10 | |
autoCommit | 自动提交 | 一般为true | |
readOnly | 只读访问 | 一般为false |
Struts 1.2及以后版本可以使用DBCP数据源实现:
data-source | key | 数据源键名 | 用于区分多个数据源,可省略 |
type | 实现数据源的类名 | 1.使用Tomcat自带的dbcp,需导入 tomcat-dbcp.jar: org.apache.tomcat.dbcp.dbcp.BasicDataSource 或者 2.使用apache dbcp,需导入commons-dbcp-版本号.jar: org.apache.commons.dbcp.BasicDataSource | |
属性 | description | 说明文字 | |
driverClassName | 数据库驱动程序 | 如:com.mysql.jdbc.Driver | |
url | 数据库连接串 | 如:jdbc:mysql://localhost:3306/struts | |
username | 用户名 | 如:root | |
password | 密码 | 如:123456 | |
maxWait | 连接超时 | 一般应大于100ms | |
minActive | 最小连接数 | 如:1 | |
maxActive | 最大连接数 | 如:10 | |
defaultAutoCommit | 自动提交 | 一般为true | |
defaultReadOnly | 只读访问 | 一般为false |
需要下载commons- dbcp,commons- pool.jar
二、数据源的使用
在Action里面:
//获得数据源
DataSource ds = getDataSource(request); 或者 ds = getDataSource(request, "数据源键名");
//获得数据库连接
Connection con = ds.getConnection();
//使用Connection进行数据库其他操作..