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

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

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

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

    配置數(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();

    本配置只適合初學(xué)者。。。。。。

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

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费人成在线观看播放国产| av免费不卡国产观看| 在线视频网址免费播放| 日韩精品无码免费专区网站 | 亚洲国产欧美日韩精品一区二区三区| 亚洲色少妇熟女11p| 手机永久免费的AV在线电影网| 中文字幕无线码中文字幕免费 | 二个人看的www免费视频| 久久免费公开视频| 无码国产精品久久一区免费| 免费大黄网站在线观看| 亚洲国产精品一区二区成人片国内 | 久久成人免费大片| 免费无码肉片在线观看| 亚洲av再在线观看| 2022年亚洲午夜一区二区福利| 精品国产成人亚洲午夜福利| 羞羞视频免费网站日本| 99re6热视频精品免费观看| 成年轻人网站色免费看| 亚洲性猛交XXXX| 亚洲av无码一区二区三区天堂古代| 女bbbbxxxx另类亚洲| 暖暖免费日本在线中文| 精品国产免费观看一区| 亚洲国产成人高清在线观看 | 成人免费在线观看网站| 亚洲尤码不卡AV麻豆| 亚洲视频在线观看2018| 亚洲一区二区三区免费| 91手机看片国产永久免费| 亚洲人成网站色在线入口| 亚洲男人的天堂在线播放| 亚洲av纯肉无码精品动漫| 久久aⅴ免费观看| 情侣视频精品免费的国产| 久久精品7亚洲午夜a| 亚洲av日韩精品久久久久久a| 久久精品免费观看国产| 亚洲AV无码乱码在线观看|