淺談JDBC數(shù)據(jù)源的幾種形式
一、JDBC2.0擴(kuò)展
JDBC數(shù)據(jù)源1、JDBCDataSource
DataSourse(數(shù)據(jù)源),包含了連接數(shù)據(jù)庫所需的信息,可以通過數(shù)據(jù)源或的數(shù)據(jù)庫連接,有時(shí)由于某些連接數(shù)據(jù)庫的信息會(huì)變更,所以經(jīng)常使用包含數(shù)據(jù)庫連接信息的數(shù)據(jù)源。
JDBC取連接有2種方式:DriverManager和數(shù)據(jù)源
JDBC數(shù)據(jù)源2、JNDI和DataSourse
主要功能:定位服務(wù)
JNDI,(命名路徑服務(wù))也用于存儲(chǔ)數(shù)據(jù),但是他所存儲(chǔ)的是一寫零散的信息。
JNDI的方法是在javax.naming包下InitialContext連接,初始化上下文,這個(gè)類的提供者一般也是服務(wù)器的提供者
查找和綁定
查找由我們做,綁定我們并不關(guān)心,只配制數(shù)據(jù)源就好了
代替DriverManager定位數(shù)據(jù)源
遍布式企業(yè)的數(shù)據(jù)源的屬性可以存儲(chǔ)在同一個(gè)目錄(JNDI)中以這種方式集中管理用戶名、密碼、數(shù)據(jù)庫名和JDBCURL
創(chuàng)建連接:
- ContextjndiContext=newInitialContext();
- DataSourcesource=(DataSource)jndiContext.lookup("");
- COnnectioncon=source.getConnection();
JDBC數(shù)據(jù)源3、連接池
要提供連接池?cái)?shù)據(jù)源,帶緩存的連接。帶緩存的連接,即可池化的連接,其close()方法,在物理上并沒有被關(guān)閉,而是保留在一個(gè)隊(duì)列中并被反復(fù)使用。
JDBC數(shù)據(jù)源4、分布式事務(wù)
事務(wù)分為JDBC事務(wù)和JTA
JDBC事務(wù),由容器管理
JTA,分布式事務(wù),由容器管理
【編輯推薦】