對(duì)象的統(tǒng)一訪問(wèn)原則 如何正確地獲取一個(gè)有效的數(shù)據(jù)庫(kù)連接?
如何正確地獲取一個(gè)有效的數(shù)據(jù)庫(kù)連接?市場(chǎng)上有很多種數(shù)據(jù)庫(kù)。以oracle數(shù)據(jù)庫(kù)為例:(1)如果使用第三方工具連接,直接測(cè)試連接,或者執(zhí)行select 1 from dual查詢語(yǔ)句,檢查執(zhí)行結(jié)果。(2
如何正確地獲取一個(gè)有效的數(shù)據(jù)庫(kù)連接?
市場(chǎng)上有很多種數(shù)據(jù)庫(kù)。以oracle數(shù)據(jù)庫(kù)為例:
(1)如果使用第三方工具連接,直接測(cè)試連接,或者執(zhí)行select 1 from dual查詢語(yǔ)句,檢查執(zhí)行結(jié)果。
(2)如果是sqlplus的會(huì)話連接,從v $ database執(zhí)行select open _ mode檢查信息是否能正常返回。
(3)如果是weblogic的連接池連接,可以在weblogic控制臺(tái)中使用數(shù)據(jù)源的測(cè)試連接功能,看看是否連接正常。
(4)如果是Java程序,啟動(dòng)后檢查logback或log4j日志,或者調(diào)用sql方法檢查連接信息或執(zhí)行結(jié)果。
(5)如果使用oracle sql developer連接,執(zhí)行select 1 from dual查詢語(yǔ)句,檢查執(zhí)行結(jié)果。
如果只是想連接數(shù)據(jù)庫(kù)操作一個(gè)sql語(yǔ)句,最簡(jiǎn)單的就是第三方工具。連接后,您可以在圖形界面中檢查連接狀態(tài)和sql的執(zhí)行結(jié)果。
就關(guān)系數(shù)據(jù)庫(kù)而言,數(shù)據(jù)庫(kù)有很多種。主流的有Mysql,Oracle,Sql Server等。其中Mysql比較簡(jiǎn)單,所以讓 讓我們從最基本的開始,然后我們就可以知道一切。
這里 如何用java語(yǔ)言連接數(shù)據(jù)庫(kù):
1.通過(guò)JDBC實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接
JDBC的全稱是:java數(shù)據(jù)庫(kù)連接(Java,可以為各種數(shù)據(jù)庫(kù)提供統(tǒng)一的訪問(wèn)。JDBC是sun公司開發(fā)的一套數(shù)據(jù)庫(kù)訪問(wèn)編程接口,它是一個(gè)SQL級(jí)別的API。
具體方法:
//1,注冊(cè)驅(qū)動(dòng)程序
//2.創(chuàng)建連接
//3.獲取執(zhí)行sql語(yǔ)句的語(yǔ)句對(duì)象。
//4.執(zhí)行sql語(yǔ)句并返回結(jié)果。
//5,處理結(jié)果
//6關(guān)閉資源
直接看下面的代碼:
2、DBCP連接池模式
DBCP是由Apache開發(fā)的Java數(shù)據(jù)庫(kù)連接池項(xiàng)目。通過(guò)將數(shù)據(jù)庫(kù)連接提前放在內(nèi)存中,當(dāng)應(yīng)用程序需要建立數(shù)據(jù)庫(kù)連接時(shí),可以直接在連接池中申請(qǐng)一個(gè),用完了再放回去。單線程,并發(fā)低,性能差,適合小型系統(tǒng)。
還有C3p0等連接,所以我贏了 這里就不介紹了。有興趣的讀者可以自己學(xué)習(xí)一下!
準(zhǔn)化訪問(wèn)的原則?
對(duì)于無(wú)參數(shù)方法obj.width的方法形式,好像直接引用了obj對(duì)象的width屬性。這種統(tǒng)一被稱為標(biāo)準(zhǔn)化訪問(wèn)原則,即代碼不是基于屬性是通過(guò)字段還是方法實(shí)現(xiàn)的。實(shí)施受到影響。