溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

DB的連接方式練習(xí)

發(fā)布時間:2020-08-07 03:46:19 來源:網(wǎng)絡(luò) 閱讀:585 作者:w詹w姆a斯 欄目:數(shù)據(jù)庫

Today,測試java DB的連接方式。

目前就我所知了解的有兩種:

    1. jdbc代碼鏈接    

    2. 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的方法,以及已知的子接口

下面說說三個子接口

  1. ConnectionPoolDataSource 

    1. PooledConnection對象工廠

    2. 方法是繼承了父類CommonDataSource的方法 getLoginTimeOut setLoginTimeOut setLogWriter getLogWriter,自己的方法有:

      1. PooledConnection getPooledConnection()嘗試建立可用作入池連接的物理數(shù)據(jù)庫連接

      2. PooledConnection getPooledConnection(String usr,String password)嘗試建立可用作入池連接的物理數(shù)據(jù)庫連接

  2. 接口DataSource

    1. DataSource 這個接口不僅繼承了CommonDataSource 還 繼承了Wrapper

    2. 該工廠用于提供到此DataSource 對象所表示的物理數(shù)據(jù)源的連接。作為DriverManager 工具的替代項,DataSource 對象是獲取連接的首選方法。實現(xiàn)DataSource接口的對象通常在基于Java Naming and Directory Interface (JNDI) API的命名服務(wù)中注冊。

    3. DataSource 接口由驅(qū)動程序供應(yīng)商實現(xiàn)。共有三種類型實現(xiàn):

      1. 基本實現(xiàn) - 生成標(biāo)準(zhǔn)的 Connection對象

      2. 連接池實現(xiàn) - 生成自動參玉連接池的Connection對象,此實現(xiàn)與中間層連接池管理器一起使用

      3. 分布式事務(wù)實現(xiàn) - 生成一個Connection 對象,該對象可用于分布式事務(wù),大多數(shù)情況下總是參與連接池。此實現(xiàn)與中間層事務(wù)管理器一起使用,大多數(shù)情況下總是與連接池管理器一起使用。

      4. DataSource 對象的屬性在必要的時候可以修改。列如,如果將數(shù)據(jù)源移動到另一個服務(wù)器,則可以更改與服務(wù)器相關(guān)的屬性。其優(yōu)點在于,由于可以更改數(shù)據(jù)源的屬性,所以任何訪問該數(shù)據(jù)源的代碼都無需更改

      5. 通過DataSource對象訪問的驅(qū)動程序本身不會向DriverManager注冊 通過查找操作獲取DataSource對象,然后使用該對象創(chuàng)建Connection對象 使用基本的實現(xiàn),通過DataSource對象獲取的連接與通過DriverManager設(shè)施獲取的連接相同。

    4. DataSource自身的方法

      1. Connection getConnection() 嘗試建立與此DataSource對象所表示的數(shù)據(jù)源的連接

      2. Connection getConnection(String username,String passward) 嘗試建立與此DataSource對象所表示的數(shù)據(jù)源連接

      3. 繼承的方法 CommonDataSource Wrapper,CommonDataSource上面有講解就不再重復(fù),說下Wrapper的方法

          1. boolean isWrappseFor(Class iface)

    

    

向AI問一下細(xì)節(jié)

免責(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)容。

AI