日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口

發布時間:2024/9/30 数据库 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JDBC技術

JDBC的全稱是Java DataBase Connectivity,是一套面向對象的應用程序接口,指定了統一的訪問各種關系型數據庫的標準接口,JDBC是一種底層的API,因此訪問數據庫時需要在業務邏輯層中嵌入SQL語句。SQL語句是面向關系的,依賴于關系模型,所以通過JDBC技術訪問數據庫也是面向關系的。JDBC技術主要完成以下幾個任務:  與數據庫建立一個連接。  向數據庫發送SQL語句。  處理從數據庫返回的結果。 需要注意的是,JDBC并不能直接訪問數據庫,必須依賴于數據庫廠商提供的JDBC驅動程序。下面詳細介紹JDBC驅動程序的分類。

JDBC驅動程序的類型

JDBC的總體結構由4個組件—應用程序、驅動程序管理器、驅動程序和數據源組成。JDBC驅動基本上分為以下4種。  JDBC-ODBC橋:依靠ODBC驅動器和數據庫通信。這種連接方式必須將ODBC二進制代碼加載到使用該驅動程序的每臺客戶機上。這種類型的驅動程序最適合于企業網或者用Java編寫的三層結構的應用程序服務器代碼。  
    本地API一部分用Java編寫的驅動程序:
    這類驅動程序把客戶機的API上的JDBC調用轉換為Oracle、DB2、Sybase或其他DBMS的調用。這種驅動程序也需要將某些二進制代碼加載到每臺客戶機上。  
    JDBC網絡驅動:
    這種驅動程序將JDBC轉換為與DBMS無關的網絡協議,又被某個服務器轉換為一種DBMS協議,是一種利用Java編寫的JDBC驅動程序,也是最為靈活的JDBC驅動程序。這種方案的提供者提供了適合于企業內部互聯網(Intranet)用的產品。為使這種產品支持Internet訪問,需要處理Web提出的安全性、通過防火墻的訪問等額外的要求。  
    本地協議驅動:

**這是一種純Java的驅動程序。這種驅動程序將JDBC調用直接轉換為DBMS所使用的網絡協議,**允許從客戶機上直接調用DBMS服務器,是一種很實用的訪問Intranet的解決方法。 JDBC網絡驅動和本地協議驅動是JDBC訪問數據庫的首選,這兩類驅動程序提供了Java的所有優點。

JDBC中常用的類和接口

在Java語言中提供了豐富的類和接口用于數據庫編程,利用這些類和接口可以方便地進行數據訪問和處理。本節將介紹一些常用的JDBC接口和類,這些類或接口都在java.sql包中。

.1 Connection接口

Connection接口代表與特定的數據庫的連接,在連接上下文中執行SQL語句并返回結果。Connection接口的常用方法如表

Statement接口

Statement接口用于在已經建立連接的基礎上向數據庫發送SQL語句。在JDBC中有3種Statement對象,分別是Statement、PreparedStatement和CallableStatement。Statement對象用于執行不帶參數的簡單的SQL語句;PreparedStatement繼承了Statement,用來執行動態的SQL語句;CallableStatement繼承了PreparedStatement,用于執行對數據庫的存儲過程的調用。Statement接口的常用方法如表

PreparedStatement接口

PreparedStatement接口用來動態地執行SQL語句。通過PreparedStatement實例執行的動態SQL語句,將被預編譯并保存到PreparedStatement實例中,從而可以反復地執行該SQL語句。

DriverManager類

DriverManager類用來管理數據庫中的所有驅動程序。它是JDBC的管理層,作用于用戶和驅動程序之間,跟蹤可用的驅動程序,并在數據庫的驅動程序之間建立連接。如果通過getConnection()方法可以建立連接,則經連接返回,否則拋出SQLException異常。DriverManager類的常用方法如表所示。
  

ResultSet接口

ResultSet接口類似于一個臨時表,用來暫時存放數據庫查詢操作所獲得的結果集。ResultSet實例具有指向當前數據行的指針,指針開始的位置在第一條記錄的前面,通過next()方法可將指針向下移。

連接數據庫

要對數據表中的數據進行操作,首先應該建立與數據庫的連接。通過JDBC API中提供的各種類,可對數據表中的數據進行查找、添加、修改、刪除等操作。
1 連接數據庫 要訪問數據庫,首先要加載數據庫的驅動程序(只需要在第一次訪問數據庫時加載一次),**然后每次訪問數據時創建一個Connection對象,接著執行操作數據庫的SQL語句,**最后在完成數據庫操作后銷毀前面創建的Connection對象,釋放與數據庫的連接。
JDBC操作不同的數據庫僅僅是連接方式上的差異,使用JDBC的應用程一旦和數據庫建立連接,就可以使用JDBC提供的API操作數據庫。

使用JDBC進行如下的操作:

  • 與一個數據庫建立連接
  • 向已連接的數據庫發送SQL語句
  • 處理SQL語句返回的結果

ResultSet類的next()方法的返回值是boolean類型的數據,當游標移動到最后一行之后會返回false。下面的實例就是將數據表tb_emp中的全部信息顯示在控制臺上。在主方法中將數據表tb_stu中的數據檢索出來,保存在遍歷查詢結果集ResultSet中,并遍歷該結果集。

import java.sql.*; //導入 javasql包public class Gradation{ //創建類static Connection con; //聲明 Connection對象static Statement sql; //聲明 Statement對象static ResultSet res; //聲明 ResultSet對象public Connection getConnection(){ //連接數據庫方法 //省略了獲取據庫連接的代碼,return con;} //返回 Connection對象public static void main(String] args){ //主方法Gradation= new Gradation(); //創建本類對象con= c.getConnection(); //與數據庫建立連接try{ sl=con. createStatement(); //執行SQL語句,返回結果集 //實例化 Statement對象 res=sql.executeQuery("select* from tb_stu")while(res.next()){String id res.getString("id"); //如果當前語句不是最后一條,則進入循環String nameres.getString("name"); ∥獲取列名是id的字段值String sex=res.getString("sex"); //獲取列名是name的字段值String birthday res. getString("birthday"); //獲取列名是sex的字段值System.out.print("編號:"+id) //獲取列名是 birthday的字段值System.outt.print("姓名"+name) //將列值輸出System.out.print("性別:"+sex) }System.out. printin("生日:"+ birthday) } catch(Exception){e.printStackTrace();}}}

注意
可以通過列的序號來獲取結果集中指定的列值。例如,獲取結果集中id列的列值,可以寫成getString(“id”)。由于id列是數據表中的第一列,所以也可以寫成getString(1)來獲取。


java運行環境將JDBC-數據庫驅動轉化為DBMS(數據庫管理系統)所使用的專用協議來實現和特定的DBMS交互信息。
使用JDBC-數據庫驅動方式和數據庫建立連接需要經過兩個步驟:
1.加載JDBC–數據庫驅動
2.和指定的數據庫建立連接

mysql5.7版本建議將應用程序和數據庫服務器建立連接時明確設置是SSL,并設置值是true或false

如果用戶要和連接MYSQL駐留在同一計算機上,使用的IP地址可以是127.0.0.1或localhost

向數據庫發送SQL查詢語句:
try{
Statement sql = con.creatStatement();}
catch(SQLException e){}
使用Statement聲明一個SQL語句對象,然后讓已創建的連接對象con調用方法creatStatement()創建這個SQL語句對象

總結

以上是生活随笔為你收集整理的【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。