国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JDBC五數據源和數據池(web基礎學習筆記十一)

2019-11-14 22:42:10
字體:
來源:轉載
供稿:網友
JDBC五數據源和數據池(web基礎學習筆記十一)一、為什么使用數據源和連接池

現在開發的應用程序,基本上都是基于數據的,而且是需要頻繁的連接數據庫的。如果每次操作都連接數據庫,然后關閉,這樣做性能一定會受限。所以,我們一定要想辦法復用數據庫的連接。因此針對這種情況,提出了數據源和連接池的概念。使用數據源和連接池可以達到復用數據庫連接的目的。

二、數據源和連接池概念

其實,數據源和連接池是兩個不同的概念。有些人會把它們弄混。數據源是用來連接數據庫,獲得Connection 對象的,在java 中使用javax.sql.DataSource接口來表示。有了數據源,我們就不需要再編寫其他連接數據的代碼,直接從數據源獲得連接就可以了。而且,不管使用什么樣的數據庫,都使用一樣的方式獲得數據庫連接對象。那么數據源的對象是如何獲得的呢?一般是由容器來創建的,我們在程序中使用JNDI 來獲取。通過數據源創建的連接對象可以被自動放入連接池中統一管理

連接池是用來管理Connection 對象的,連接池可以從數據源中獲得連接,連接池中可以有若干個數據庫連接對象,這些連接對象可以被重用。應用程序需要連接時,就向連接池申請,如果連接池中有空閑的連接,就會分配給應用程序,如果沒有,可能就需要在等待隊列里等待。而如果從連接池中獲得了一個連接對象,等到使用完畢之后,通過調用Connection 的close()方法,就可以將連接還給連接池,這樣這個連接對象就又編程空閑的了,可以等待下一次請求。而連接池中的連接對象將一直保持與數據庫的連接,這樣,就避免了頻繁的連接和關閉。但是,這些連接對象會占用一定的內存空間。所以,我們要根據數據庫的并發訪問量,和服務器的硬件條件來決定連接池中的最大連接數。

三、數據源和連接池,一個是用來創建連接對象的,一個是用來管理連接對象的

四、在Tomcat 中配置數據源4.1在Tomcat 中使用數據源的步驟如下:
  • (1)在Tomcat 中加入數據庫驅動文件
  • (2)配置Tomcat 的conf/context.xml
<Context><Resource name="jdbc/books"auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="pbdevj" passWord="pwd1234"driverClassName="Oracle.jdbc.OracleDriver "url="jdbc:oracle:thin:@localhost:1521:orcl "/></Context>
屬性名稱說明
name指定Resource 的JNDI 名稱
auth

指定管理Resource 的Manager(Container:由容器創建和管理|application:由Web 應用創建和管理)

type指定Resource 所屬的Java 類
maxActive指定連接池中處于活動狀態的數據庫連接的最大數目
maxIdle指定連接池中處于空閑狀態的數據庫連接的最大數目
maxWait

指定連接池中的連接處于空閑的最長時間,超過這個時間會拋出異常,取值為-1,表示可以無限期等待

  • (3)配置應用程序的web.xml 文件(可選)(注:新版本的Tomcat 不需要如下配置)

  • (4)使用JNDI 獲取連接對象
import javax.naming.Context;import javax.naming.InitialContext;import javax.sql.DataSource;//&hellip;Context ic = new InitialContext();DataSource source = (DataSource)ic.lookup("java:comp/env/jdbc/books");Connection connection = source.getConnection();


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 墨江| 玉环县| 仁寿县| 宁安市| 林西县| 武邑县| 江安县| 开鲁县| 九江市| 沂源县| 嘉善县| 文成县| 斗六市| 绩溪县| 临夏县| 沾益县| 东辽县| 阜南县| 新田县| 遵义市| 西乡县| 遂宁市| 都匀市| 安阳县| 丰县| 晋城| 云阳县| 中牟县| 江山市| 通海县| 贵德县| 象山县| 曲松县| 崇阳县| 繁峙县| 炉霍县| 章丘市| 河源市| 江都市| 黑水县| 河间市|