Java进行时
      把握现在,成就未来!
posts - 23,comments - 30,trackbacks - 0
配置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 阅读(1166) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: