<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    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://m.tkk7.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 閱讀(1175) 評論(0)  編輯  收藏

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 57pao国产成视频免费播放| 久久久久亚洲精品男人的天堂| 亚洲AV成人噜噜无码网站| 女人与禽交视频免费看 | 一边摸一边桶一边脱免费视频| 精品无码国产污污污免费网站| 亚洲男人天堂2022| 亚洲国产精品人人做人人爽 | 免费v片在线观看视频网站| 亚洲国产精品成人AV在线| 亚洲理论电影在线观看| 黄色永久免费网站| 一个人看的www免费在线视频| 亚洲第一香蕉视频| 亚洲国产成人a精品不卡在线| 亚洲黄色免费电影| yellow免费网站| 亚洲天堂免费在线| 国产AV无码专区亚洲精品| 午夜免费不卡毛片完整版| 日韩视频免费在线观看| 极品色天使在线婷婷天堂亚洲| 久久丫精品国产亚洲av不卡| 四虎永久成人免费| 日本免费精品一区二区三区| 亚洲色欲www综合网| 亚洲精品视频在线看| 成人A级毛片免费观看AV网站| 本免费AV无码专区一区| 亚洲大码熟女在线观看| 亚洲日本国产精华液| 中文字幕亚洲综合久久菠萝蜜| 成熟女人特级毛片www免费| 国产成人AV免费观看| 免费看一级一级人妻片| 中文字幕在线日亚洲9| 精品亚洲成a人片在线观看少妇| 久久久久国产成人精品亚洲午夜| 成人免费视频一区| 国产高清免费视频| 午夜影院免费观看|