您好,登錄后才能下訂單哦!
Today,測試java DB的連接方式。
目前就我所知了解的有兩種:
jdbc代碼鏈接
dataSource 鏈接
下面來詳細(xì)了解一下這兩種連接方式
第一種 JDBC連接,對此我們需要了解一下JAVA的相關(guān)類 javax.sql類
軟件包 javax.sql
為通過java 編程語言進(jìn)行的服務(wù)器端數(shù)據(jù)源訪問和處理提供API
接口摘要
CommonDataSource 此接口定義在DataSource 、XADataSource 和 ConnectionPollDataSource 之間共用方法
1.所有子接口 ConnectionPoolDataSource DataSource XADataSource
2.方法摘要
a. int getLoginTimeout() 獲取此數(shù)據(jù)源試圖連接到某以數(shù)據(jù)庫時可以等待的最長時間,一秒位單位
b.PrintWriter getLogWriter() 獲取此DataSource 對象日志 write.
c.void setLoginTimeout(int seconds) 設(shè)置此數(shù)據(jù)源試圖連接到某以數(shù)據(jù)庫時將等待的最長時間,一秒為單位
d. setLogWriter(PrintWriter out) 將此DataSource 對象的日志writer設(shè)置為給定的java.io.PrintWriter
以上是超級接口CommonDataSource的方法,以及已知的子接口
下面說說三個子接口
ConnectionPoolDataSource
PooledConnection對象工廠
方法是繼承了父類CommonDataSource的方法 getLoginTimeOut setLoginTimeOut setLogWriter getLogWriter,自己的方法有:
PooledConnection getPooledConnection()嘗試建立可用作入池連接的物理數(shù)據(jù)庫連接
PooledConnection getPooledConnection(String usr,String password)嘗試建立可用作入池連接的物理數(shù)據(jù)庫連接
接口DataSource
DataSource 這個接口不僅繼承了CommonDataSource 還 繼承了Wrapper
該工廠用于提供到此DataSource 對象所表示的物理數(shù)據(jù)源的連接。作為DriverManager 工具的替代項,DataSource 對象是獲取連接的首選方法。實現(xiàn)DataSource接口的對象通常在基于Java Naming and Directory Interface (JNDI) API的命名服務(wù)中注冊。
DataSource 接口由驅(qū)動程序供應(yīng)商實現(xiàn)。共有三種類型實現(xiàn):
基本實現(xiàn) - 生成標(biāo)準(zhǔn)的 Connection對象
連接池實現(xiàn) - 生成自動參玉連接池的Connection對象,此實現(xiàn)與中間層連接池管理器一起使用
分布式事務(wù)實現(xiàn) - 生成一個Connection 對象,該對象可用于分布式事務(wù),大多數(shù)情況下總是參與連接池。此實現(xiàn)與中間層事務(wù)管理器一起使用,大多數(shù)情況下總是與連接池管理器一起使用。
DataSource 對象的屬性在必要的時候可以修改。列如,如果將數(shù)據(jù)源移動到另一個服務(wù)器,則可以更改與服務(wù)器相關(guān)的屬性。其優(yōu)點在于,由于可以更改數(shù)據(jù)源的屬性,所以任何訪問該數(shù)據(jù)源的代碼都無需更改
通過DataSource對象訪問的驅(qū)動程序本身不會向DriverManager注冊 通過查找操作獲取DataSource對象,然后使用該對象創(chuàng)建Connection對象 使用基本的實現(xiàn),通過DataSource對象獲取的連接與通過DriverManager設(shè)施獲取的連接相同。
DataSource自身的方法
Connection getConnection() 嘗試建立與此DataSource對象所表示的數(shù)據(jù)源的連接
Connection getConnection(String username,String passward) 嘗試建立與此DataSource對象所表示的數(shù)據(jù)源連接
繼承的方法 CommonDataSource Wrapper,CommonDataSource上面有講解就不再重復(fù),說下Wrapper的方法
boolean isWrappseFor(Class iface)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。