配置Struts数据源有很多种方法,我们这里讲解最实用的一种。
配置数据源所需要的JAR包:
commons-dbcp-1.2.2.jar、commons-pool-1.4.jar、struts-legacy.jar
下载地址:
http://www.blogjava.net/Files/biiau/struts-dataSource.rar
1.配置struts-config.xml文件,加入数据源
<!-- ============ Data Source Start ================== -->
<data-sources>
<data-source key="org.apache.struts.action.DATA_SOURCE"
type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="autoCommit" value="true" />
<set-property property="description" value="SQL2000 Data Source" />
<set-property property="
driverClassName"
value="net.sourceforge.jtds.jdbc.Driver" />
<set-property property="maxCount" value="10" />
<set-property property="minCount" value="2" />
<set-property property="username" value="username" />
<set-property property="password" value="password" />
<set-property property="url"
value="jdbc:jtds:sqlserver://localhost:1433/databaseName" />
</data-source>
</data-sources>
<!-- ============ Data Source End ================== -->
2.添加STRUTS插件;添加插件的目的是:任何文件中都可以用到此数据源
首先创建插件,它继承自org.apache.struts.action.PlugIn
package com.xxx.db;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.action.PlugIn;
import org.apache.struts.config.ModuleConfig;
public class DBConn implements PlugIn {
private static DataSource dataSource = null;
private Connection conn = null;
private PreparedStatement preStmt = null;
private Statement stmt = null;
// 得到数据源
public void init(ActionServlet servlet, ModuleConfig config) {
dataSource = (DataSource) servlet.getServletContext().getAttribute(
"org.apache.struts.action.DATA_SOURCE");
}
public DBConn() throws SQLException {
if (dataSource != null) {
conn = dataSource.getConnection();
}
}
public ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
if (stmt == null) {
stmt = conn.createStatement();
}
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public void executeUpdate(String sql) throws SQLException {
if (stmt == null) {
stmt = conn.createStatement();
}
stmt.executeUpdate(sql);
}
public Connection getConnection() {
return conn;
}
public void prepareStatement(String sqlStr) throws SQLException {
preStmt = conn.prepareStatement(sqlStr);
}
public void setString(int index, String value) throws SQLException {
preStmt.setString(index, value);
}
public void setInt(int index, int value) throws SQLException {
preStmt.setInt(index, value);
}
public void setBoolean(int index, boolean value) throws SQLException {
preStmt.setBoolean(index, value);
}
public void setLong(int index, long value) throws SQLException {
preStmt.setLong(index, value);
}
public void setFloat(int index, float value) throws SQLException {
preStmt.setFloat(index, value);
}
public void setBytes(int index, byte[] value) throws SQLException {
preStmt.setBytes(index, value);
}
public void clearPreStmt() throws SQLException {
preStmt.clearParameters();
preStmt = null;
}
public ResultSet executeQuery() throws SQLException {
if (preStmt != null) {
return preStmt.executeQuery();
} else {
return null;
}
}
public void executeUpdate() throws SQLException {
if (preStmt != null) {
preStmt.executeUpdate();
}
}
public void close() {
try {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (preStmt != null) {
preStmt.close();
preStmt = null;
}
if (conn != null) {
conn.close();
conn = null;
System.out.println("**** a connection is closed ****");
}
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
public void destroy() {
}
}
然后配置struts-config.xml文件:
<plug-in className="com.xxx.db.DBConn"></plug-in>
3.到此,数据源完成。用法示例:
Connection conn = new DBCon().getConnection();
本配置只适合初学者。。。。。。
posted on 2008-04-16 17:21
biiau 阅读(1174)
评论(0) 编辑 收藏