如何調用struts-config.xml中配置的data-source

來源:互聯網
上載者:User

在struts-config.xml中配置data-source注意事項:
<data-sources>
   <!--
    名稱:data-source
    描述:data-source元素定義了具體的資料來源     屬性:
     @key:當需要配置多個資料來源時,相當於資料來源的名稱,用來資料來源彼此間進行區別
     @type:可以使用的資料來源實現的類,一般來自如下四個庫
   -->
   <data-source key="dataSource" type="org.apache.commons.dbcp.BasicDataSource">
    <!--
     名稱:set-property      屬性:
      @driverClassName:驅動名稱
      @url:資料庫url
      @user:資料庫使用者
      @password:資料庫密碼
      @maxCount:最大資料來源串連數
      @minCount:最小資料來源串連數
      @autoCommit:是否自動認可 可選值:true/false
      @description:資料來源描述
      @readOnly:唯讀屬性 必須為false,否則不能進行插入修改操作
    -->
    <set-property property="driverClassName"
    value="Oracle.jdbc.driver.OracleDriver" />
   <set-property property="url"
    value="jdbc:oracle:thin:@localhost:1521:orcl" />
   <set-property property="username" value="scott" />
   <set-property property="password" value="tiger" />
   <set-property property="maxCount" value="20" />
   <set-property property="minCount" value="5" />
   <set-property property="autoCommit" value="true" />
   <set-property property="readOnly" value="false" />
   <set-property property="description" value="ds" />
   </data-source>
</data-sources>

 

在**DAO檔案中代碼:
首先定義
private DataSource dataSource;
該類的構造方法:
public **DAO(DataSource dataSource)
{
this.dataSource=dataSource;
}
然後在該類的方法中使用dataSource.getConnection()方法獲得串連。
一定要注意千萬不要使用靜態方法


在action類中調用配置的datasource時有一下兩種方法:
方法一:ServletContext context = servlet.getServletContext();//獲得Struts中的設定檔屬性
        DataSource dataSource = (DataSource) context.getAttribute("dataSource");

方法二:DataSource ds=this.getDataSource(request, "dataSource");
**DAO **dao=new **DAO(ds);

getDataSource(HttpServletRequest request,String key)方法就是在action中調用你配置好的data-source而已

當然,方法中的參數key,就是你配置的<data-source>的key

可以比較方法二比較簡潔哦!費了好大功夫才搞出來的,呼呼·····

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.