溫馨提示×

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

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

對(duì)JDBC的一些理解

發(fā)布時(shí)間:2020-07-16 12:09:02 來(lái)源:網(wǎng)絡(luò) 閱讀:253 作者:wufanxin 欄目:關(guān)系型數(shù)據(jù)庫(kù)

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 = "jdbc對(duì)JDBC的一些理解racle: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)指正。 

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

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

AI