最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java配置數(shù)據(jù)庫(kù)連接池的方法步驟

 更新時(shí)間:2013年05月11日 10:45:48   作者:  
java配置數(shù)據(jù)庫(kù)連接池的方法步驟,需要的朋友可以參考一下

先來了解下什么是數(shù)據(jù)庫(kù)連接池
數(shù)據(jù)庫(kù)連接池技術(shù)的思想非常簡(jiǎn)單,將數(shù)據(jù)庫(kù)連接作為對(duì)象存儲(chǔ)在一個(gè)Vector對(duì)象中,一旦數(shù)據(jù)庫(kù)連接建立后,不同的數(shù)據(jù)庫(kù)訪問請(qǐng)求就可以共享這些連接,這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫(kù)連接,可以克服上述缺點(diǎn),極大地節(jié)省系統(tǒng)資源和時(shí)間。


在實(shí)際應(yīng)用開發(fā)中,特別是在WEB應(yīng)用系統(tǒng)中,如果JSP、Servlet或EJB使用JDBC直接訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù),每一次數(shù)據(jù)訪問請(qǐng)求都必須經(jīng)歷建立數(shù)據(jù)庫(kù)連接、打開數(shù)據(jù)庫(kù)、存取數(shù)據(jù)和關(guān)閉數(shù)據(jù)庫(kù)連接等步驟,而連接并打開數(shù)據(jù)庫(kù)是一件既消耗資源又費(fèi)時(shí)的工作,如果頻繁發(fā)生這種數(shù)據(jù)庫(kù)操作,系統(tǒng)的性能必然會(huì)急劇下降,甚至?xí)?dǎo)致系統(tǒng)崩潰。數(shù)據(jù)庫(kù)連接池技術(shù)是解決這個(gè)問題最常用的方法,在許多應(yīng)用程序服務(wù)器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了這項(xiàng)技術(shù),無需自己編程,但是,深入了解這項(xiàng)技術(shù)是非常必要的。

數(shù)據(jù)庫(kù)連接池的主要操作如下:
(1)建立數(shù)據(jù)庫(kù)連接池對(duì)象(服務(wù)器啟動(dòng))。
(2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫(kù)連接(即:空閑連接數(shù))。
(3)對(duì)于一個(gè)數(shù)據(jù)庫(kù)訪問請(qǐng)求,直接從連接池中得到一個(gè)連接。如果數(shù)據(jù)庫(kù)連接池對(duì)象中沒有空閑的連接,且連接數(shù)沒有達(dá)到最大(即:最大活躍連接數(shù)),創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)連接。
(4)存取數(shù)據(jù)庫(kù)。
(5)關(guān)閉數(shù)據(jù)庫(kù),釋放所有數(shù)據(jù)庫(kù)連接(此時(shí)的關(guān)閉數(shù)據(jù)庫(kù)連接,并非真正關(guān)閉,而是將其放入空閑隊(duì)列中。如實(shí)際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接)。
(6)釋放數(shù)據(jù)庫(kù)連接池對(duì)象(服務(wù)器停止、維護(hù)期間,釋放數(shù)據(jù)庫(kù)連接池對(duì)象,并釋放所有連接)。
配置步驟:
1.在Tomcat  conf/content.xml中<Context>節(jié)點(diǎn)內(nèi)添加如下內(nèi)容

<Resource name="jdbc/news" auth="Container"type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="120010" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=news"/>


name:之后我們要調(diào)用resource時(shí)候用到
type:是鏈接數(shù)據(jù)庫(kù)時(shí)候用到的java擴(kuò)展包下的類
maxActive:最大連接數(shù)
maxIdle:是空閑時(shí)候最大連接數(shù)
maxwait:空閑判斷標(biāo)準(zhǔn)
注意:
1.該配置文件里不允許有中文;各個(gè)屬性間的用一個(gè)空格隔開
2.要將對(duì)應(yīng)鏈接數(shù)據(jù)庫(kù)的jar包放到tomcat /lib文件夾中工程中就不需要存放了
下面還中是鏈接oracle的

<Resource type="javax.sql.DataSource" name="jdbc/news" url="jdbc:oracle:thin:@192.168.2.102:1521:orcl" driverClassName="oracle.jdbc.driver.OracleDriver" password="bg" username="test" maxWait="10000" maxIdle="30" maxActive="100" auth="Container"/>
2.在工程的web.xml中添加如下代碼
<resource-ref>
      <res-ref-name>jdbc/news</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref>

這里<res-ref-name>標(biāo)簽里面的名字就是在content.xml文件中的name的名字


3.得到數(shù)據(jù)庫(kù)連接池中的Connection對(duì)象


Context context=new InitialContext();
DataSourceds=(DataSource)context.lookup("java:comp/env/jdbc/news");
Connectionconn = ds.getConnection();


context是javax.namingx下的類
dataSource是javax.sql下的類
"java:comp/env/jdbc/news"中:java:comp/env是固定寫法 jdbc/news是jndi名稱(Tomcat中配置的那個(gè)name)


如果我們不是在web.xml中配置數(shù)據(jù)源,我們用spring來控制數(shù)據(jù)庫(kù)鏈接方法步驟:
1.在配置文件中添加如下節(jié)點(diǎn)
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/news"/> 
</bean>

配置好了獲取sql語句查詢數(shù)據(jù)有多少條:


    調(diào)用的時(shí)候直接Dao類繼承JdbcDaoSupport類(spring.jar中的類)
    int count = this.getJdbcTemplate().queryForInt("select * from users");


這樣我們就搞定了!當(dāng)然也許還有很多方法可以配置,我只列出上面幾種,要是有什么問題可以私密我我很樂意與大家一起討論!
----ydcun

相關(guān)文章

  • springboot中使用雪花算法生成雪花ID

    springboot中使用雪花算法生成雪花ID

    本文主要介紹了springboot中使用雪花算法生成雪花ID,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Spring boot基于ScheduledFuture實(shí)現(xiàn)定時(shí)任務(wù)

    Spring boot基于ScheduledFuture實(shí)現(xiàn)定時(shí)任務(wù)

    這篇文章主要介紹了Spring boot基于ScheduledFuture實(shí)現(xiàn)定時(shí)任務(wù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Mybatis多數(shù)據(jù)源切換實(shí)現(xiàn)代碼

    Mybatis多數(shù)據(jù)源切換實(shí)現(xiàn)代碼

    這篇文章主要介紹了Mybatis多數(shù)據(jù)源切換實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String

    Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String

    這篇文章主要介紹了Java實(shí)現(xiàn)輸入流轉(zhuǎn)化為String的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Java如何在臨界區(qū)中避免競(jìng)態(tài)條件

    Java如何在臨界區(qū)中避免競(jìng)態(tài)條件

    這篇文章主要介紹了Java如何在臨界區(qū)中避免競(jìng)態(tài)條件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解

    Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解

    這篇文章主要介紹了Springboot?配置線程池創(chuàng)建線程及配置?@Async?異步操作線程池詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用)

    詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用)

    這篇文章主要介紹了詳解IntelliJ IDEA 中如何配置多個(gè)jdk版本即(1.7和1.8兩個(gè)jdk都可用),非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-11-11
  • java中DES加密解密

    java中DES加密解密

    本文給大家分享的是一段java中實(shí)現(xiàn)des加密解密的代碼,非常的實(shí)用,基本每個(gè)項(xiàng)目都可以用到,推薦給大家。
    2015-03-03
  • RocketMQ設(shè)計(jì)之異步刷盤

    RocketMQ設(shè)計(jì)之異步刷盤

    本文介紹RocketMQ設(shè)計(jì)之異步刷盤,RocketMQ消息存儲(chǔ)到磁盤上,這樣既保證斷電后恢復(fù),也讓存儲(chǔ)消息量超出內(nèi)存限制,RocketMQ為了提高性能,會(huì)盡可能保證磁盤順序?qū)?消息通過Producer寫入RocketMQ的時(shí)候,有兩種方式,上篇介紹了同步刷盤,本文介紹異步刷盤,需要的朋友可以參考下
    2022-03-03
  • 一步步帶你入門Java中File類

    一步步帶你入門Java中File類

    java.io.File類是文件和目錄路徑名的抽象表示形式,主要用于文件和目錄的創(chuàng)建、查找和刪除等操作,下面這篇文章主要給大家介紹了關(guān)于入門Java中File類的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評(píng)論

哈尔滨市| 综艺| 凌云县| 连山| 阜城县| 白山市| 马边| 微山县| 金寨县| 邓州市| 峨眉山市| 瑞丽市| 嘉义市| 英超| 辉县市| 长春市| 仁布县| 汝城县| 赤峰市| 邵阳市| 大同市| 会同县| 马关县| 亚东县| 濮阳市| 玉山县| 全椒县| 望城县| 北票市| 扬中市| 泰和县| 宣武区| 秦安县| 万全县| 黔江区| 汉沽区| 罗山县| 雅安市| 鹰潭市| 邢台县| 莱芜市|