Java進行時
                把握現(xiàn)在,成就未來!
          posts - 23,comments - 30,trackbacks - 0
          配置Struts數(shù)據(jù)源有很多種方法,我們這里講解最實用的一種。

          配置數(shù)據(jù)源所需要的JAR包:commons-dbcp-1.2.2.jar、commons-pool-1.4.jar、struts-legacy.jar
          下載地址:
          http://www.aygfsteel.com/Files/biiau/struts-dataSource.rar

          1.配置struts-config.xml文件,加入數(shù)據(jù)源

          <!-- ============ 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插件;添加插件的目的是:任何文件中都可以用到此數(shù)據(jù)源


          首先創(chuàng)建插件,它繼承自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;

           
          // 得到數(shù)據(jù)源
           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.到此,數(shù)據(jù)源完成。用法示例:
                  Connection conn =  new DBCon().getConnection();

          本配置只適合初學者。。。。。。

          posted on 2008-04-16 17:21 biiau 閱讀(1176) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 固阳县| 吉隆县| 兴隆县| 吴旗县| 九寨沟县| 昌乐县| 竹北市| 海口市| 玛多县| 遂川县| 余江县| 西华县| 平果县| 中方县| 孝感市| 永城市| 桂东县| 潜山县| 平和县| 景德镇市| 上饶市| 阿尔山市| 缙云县| 杭锦旗| 文山县| 宁远县| 乌拉特中旗| 永泰县| 岐山县| 铜鼓县| 宕昌县| 南漳县| 合作市| 乐业县| 湛江市| 盘山县| 吐鲁番市| 东明县| 新营市| 雅安市| 中宁县|