程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java設置裝備擺設數據庫銜接池的辦法步調

java設置裝備擺設數據庫銜接池的辦法步調

編輯:關於JAVA

java設置裝備擺設數據庫銜接池的辦法步調。本站提示廣大學習愛好者:(java設置裝備擺設數據庫銜接池的辦法步調)文章只能為提供參考,不一定能成為您想要的結果。以下是java設置裝備擺設數據庫銜接池的辦法步調正文


先來懂得下甚麼是數據庫銜接池
數據庫銜接池技巧的思惟異常簡略,將數據庫銜接作為對象存儲在一個Vector對象中,一旦數據庫銜接樹立後,分歧的數據庫拜訪要求便可以同享這些銜接,如許,經由過程復用這些曾經樹立的數據庫銜接,可以戰勝上述缺陷,極年夜地節儉體系資本和時光。


在現實運用開辟中,特殊是在WEB運用體系中,假如JSP、Servlet或EJB應用JDBC直接拜訪數據庫中的數據,每次數據拜訪要求都必需閱歷樹立數據庫銜接、翻開數據庫、存取數據和封閉數據庫銜接等步調,而銜接並翻開數據庫是一件既消費資本又費時的任務,假如頻仍產生這類數據庫操作,體系的機能必定會急劇降低,乃至會招致體系瓦解。數據庫銜接池技巧是處理這個成績最經常使用的辦法,在很多運用法式辦事器(例如:Weblogic,WebSphere,JBoss)中,根本都供給了這項技巧,無需本身編程,然則,深刻懂得這項技巧長短常需要的。

數據庫銜接池的重要操作以下:
(1)樹立數據庫銜接池對象(辦事器啟動)。
(2)依照事前指定的參數創立初始數目的數據庫銜接(即:余暇銜接數)。
(3)關於一個數據庫拜訪要求,直接從銜接池中獲得一個銜接。假如數據庫銜接池對象中沒有余暇的銜接,且銜接數沒有到達最年夜(即:最年夜活潑銜接數),創立一個新的數據庫銜接。
(4)存取數據庫。
(5)封閉數據庫,釋放一切數據庫銜接(此時的封閉數據庫銜接,並不是真正封閉,而是將其放入余暇隊列中。照實際余暇銜接數年夜於初始余暇銜接數則釋放銜接)。
(6)釋放數據庫銜接池對象(辦事器停滯、保護時代,釋放數據庫銜接池對象,並釋放一切銜接)。
設置裝備擺設步調:
1.在Tomcat  conf/content.xml中<Context>節點內添加以下內容

<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:以後我們要挪用resource時刻用到
type:是鏈接數據庫時刻用到的java擴大包下的類
maxActive:最年夜銜接數
maxIdle:是余暇時刻最年夜銜接數
maxwait:余暇斷定尺度
留意:
1.該設置裝備擺設文件裡不許可有中文;各個屬性間的用一個空格離隔
2.要將對應鏈接數據庫的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>標簽外面的名字就是在content.xml文件中的name的名字


3.獲得數據庫銜接池中的Connection對象


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中設置裝備擺設的誰人name)


假如我們不是在web.xml中設置裝備擺設數據源,我們用spring來掌握數據庫鏈接辦法步調:
1.在設置裝備擺設文件中添加以下節點
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/news"/> 
</bean>

設置裝備擺設好了獲得sql語句查詢數據有若干條:


    挪用的時刻直接Dao類繼續JdbcDaoSupport類(spring.jar中的類)
    int count = this.getJdbcTemplate().queryForInt("select * from users");


如許我們就弄定了!固然或許還有許多辦法可以設置裝備擺設,我只列出下面幾種,如果有甚麼成績可以私密我我很願意與年夜家一路評論辯論!
----ydcun

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved