您好,登錄后才能下訂單哦!
JDBC是一種執(zhí)行SQL語(yǔ)句的java api,是java訪問(wèn)數(shù)據(jù)庫(kù)的橋梁,它可以為多種關(guān)系型數(shù)據(jù)庫(kù)提供統(tǒng)一的訪問(wèn)接口。
實(shí)現(xiàn)JDBC(此為連接oracle)的六個(gè)步驟:
1.注冊(cè)Driver接口(加載一個(gè)具體的Driver實(shí)現(xiàn)類):
class.forName("oracle.jdbc.OracleDriver");
2. 獲取數(shù)據(jù)庫(kù)連接接口
String url = "jdbcracle:thin@127.0.0.1:1521:Xe";
String user = "username";
String password = "password";
Connection conn = DriverManager.getConnection(url,user,pass);
3.創(chuàng)建Statement接口--可以理解為傳送數(shù)據(jù)和命令的工具
Statement stm = conn.createStatement();
4.執(zhí)行sql命令
5.處理結(jié)果集ResultSet
ResultSet rs = stm.executeQuery(sql);
6.釋放資源,關(guān)閉接口
此處關(guān)閉接口的順序?yàn)槟嫦蜿P(guān)閉,即按rs,stm,conn的順序關(guān)閉接口
在實(shí)際開(kāi)發(fā)中,一般用Statement接口的子接口,即PreparedStatement接口處理sql語(yǔ)句。這樣做的原因,一方面,在執(zhí)行相似增、刪、改語(yǔ)句時(shí),PreparedStatement將給定的半成品sql語(yǔ)句發(fā)送到db sv進(jìn)行預(yù)編譯,之后execute方法將語(yǔ)句直接發(fā)送過(guò)去執(zhí)行,效率大大高于Statement;第二,在安全方面上,PreparedStatement接口比前者具有更高的安全性,一個(gè)占位符只存一個(gè)字段,而Statement中的sql語(yǔ)句有很大的安全漏洞.
在三層開(kāi)發(fā)模型中,一般使用ThreadLocal技術(shù)來(lái)封裝一個(gè)JdbcUtil類來(lái)獲得接口和關(guān)閉接口,在Dao層獲得接口,執(zhí)行增刪改查語(yǔ)句,在service層進(jìn)行業(yè)務(wù)邏輯處理,手動(dòng)控制事務(wù)的提交最后關(guān)閉接口。
個(gè)人認(rèn)為學(xué)好Jdbc是以后學(xué)習(xí)Hibernate的基礎(chǔ),也是熟練駕馭Hibernate框架的前提之一,寫(xiě)寫(xiě)自己的心得,有什么不足的還請(qǐng)指正。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。