eclipse下jdbc數據源與連接池的配置及功能簡介


  今天在做四則運算網頁版的時候遇到了一個困惑,由於需要把每個產生的式子存進

數據庫,所以就需要很多次重復的加載驅動,建立連接等操作,這樣一方面寫程序不方便,加大了程序量,另一方面,還有導致數據庫的性能急劇下降,那么怎么解決這個問題呢?

  我所學到的方法就是通過JDBC數據源和連接池的方式來解決這個問題。利用DataSource來建立數據庫的連接不需要加載JDBC驅動,也不需要DriverManager類,通過向一個JNDI服務器查詢來得到DataSource對象,然后調用DataSource對象的getConnection()方法來建立數據庫的連接。下面代碼是一個使用DataSource來建立數據庫的連接的實例:

 

//創建連接和語句對象
Connection conn=null;
Statement stmt
=null;
try{ Context ctx=new InitialContext();
     //javax.naming.Context接口定義了將對象和名字綁定,
     //以及通過名字查詢對象的方法lookup()。
DataSource ds
=(DataSource)ctx.lookup("java:comp/env/jdbc/calculation"); conn=ds.getConnection(); stmt=conn.createStatement(); String sql="insert into biaodashi values('"+result+"')"; stmt.execute(sql); stmt.close(); conn.close(); } catch(Exception e){ System.out.println(e); }

 

  下面介紹一下連接池技術:

連接池技術預先建立多個數據庫連接對象,然后將連接對象保存到連接池中,黨客戶請求到來時,從池中取出一個連接對象為客戶服務,當請求完成后,客戶程序調用close()方法,將連接對象放回池中。

  那么,那么在eclipse下怎么使用這項技術呢,首先就得配置JDBC數據源:

1.打開一個web工程,在webContent目錄下的META-INF目錄下新建一個叫context的xml文件,

 

 

2.打開context.xml文件,以下是context.xml的完整內容(可以直接復制粘貼到你的context.xml文件里(*代表的是自己根據自己的實際情況填寫)):

 

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/*" reloadable="true">
    <!-- 配置數據源 -->
    <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="100" maxldle="30" maxWait="10000" name="jdbc/*" password="****" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/*?autoReconnect=true" username="root"/>
</Context>

 

這里需要對以上的配置文件進行基本的解釋說明:

Context path="/*",這是虛目錄,等於給你真正的數據源文件起了一個別名,*可以隨便命名;

name="jdbc/*",這是指定資源相對於java:comp/env 上下文的JNDI名,*可以隨便命名,但是要記住,下面連接數據庫的時候要用。

password=“****”是你的數據庫密碼。

url="jdbc:mysql://localhost:3306/*?autoReconnect=true"

為指定連接數據庫的URL。

(只需要把*號部分換成你數據庫的名字即可,其余部分可以不動。)

  

  接下來就是web.xml文件的配置:

1.打開web.xml文件,在<web-app></web-app>之間添加如下代碼:

(可以直接復制粘貼到你的web.xml文件里<web-app></web-app>之間(*代表的是自己根據自己的實際情況填寫))

<resource-ref>
    <description>MySQL DBCP</description>
    <res-ref-name>jdbc/*</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>

 這里<res-ref-name></res-ref-name>之間的內容代表的就是上面配置Context.xml文件里name屬性的值。

 

至此,eclipse下JDBC數據源與連接池的配置就弄好了,這個時候最上面的那個實例就可以正常運行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM