一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

今日分享開始啦,請大家多多指教~

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

1。概念:

JDBC,即

Java

Database Connectivity,java

資料庫

連線。是一種用於執行SQL語句的Java API,它是Java中的資料庫連線規範。這個API由 java。sql。,javax。sql。 包中的一些類和介面組成,它為Java開發人員操作資料庫提供了一個標準的API,可以為多種關係資料庫提供統一訪問。

1。1

jdbc

工作原理

JDBC 為多種關係資料庫提供了統一訪問方式,作為特定廠商資料庫訪問API的一種高階抽象,它主要包含一些通用的介面類。

JDBC訪問資料庫層次結構:

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

1。2 JDBC優勢:

Java語言訪問資料庫操作完全面向抽象介面程式設計

開發資料庫應用不用限定在特定資料庫廠商的API

程式的可移植性大大增強

2。引入mysql的jar包

首先將mysql-connector-jar包放入專案的lib資料夾下:

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

建立jar包和專案之間的聯絡

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

接下來就可以使用jdbc進行程式設計了

3。jdbc的使用

3。1 首先載入mysql的驅動程式

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡使用Class。forName載入依賴包,具體是怎麼操作的呢?

我們知道Class。forName 方法要求JVM查詢並載入指定的類到記憶體中,此時將“com。mysql。jdbc。Driver” 當做引數傳入,就是告訴JVM,去“com。mysql。jdbc”這個路徑下找Driver類,將其載入到記憶體中。

看看Driver 的原始碼:

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡new了一個Driver物件傳給了registerDriver

看看DriverManager。registerDriver這個方法做了什麼:

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

如果該驅動尚未註冊,那麼將它新增到 registeredDrivers 中去。

此時,Class。forName(“com。mysql。jdbc。Driver”) 的工作就完成了,工作就是:將mysql驅動註冊到DriverManager中去。接下來我們看是怎麼進行呼叫的

3。2 建立資料庫和jvm的連結

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡getConnection到底幹了什麼事情呢?

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡返回的getConnection方法,再看看這裡的getConnection。

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

首先看看這三個引數都代表著什麼

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

在原始碼的此處用到了url以及info

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

找到了最終url解釋的位置:這裡的url指的是資料庫的連結,如果驅動器能夠解析這個url找到此資料庫就返回true。

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

info物件中儲存的是使用資料庫的成員和密碼;

getConnection的上述原始碼中首先利用類載入機制載入了mysql’的驅動器,接下來遍歷快取中的驅動器檢視是否存在當前驅動,存在就利用驅動進行資料庫連結;

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

url設定:

這裡的連結根據不同資料庫系統採用不同的協議格式,ip地址選擇連結本地的ip地址,也可以是localhost;

3。3 執行sql語句

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡的statement負責執行sql語句:下面看看它到底幹了什麼

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

傳送引數化的sql語句到資料庫;

可以看到這裡建立了一個PreparedStatement物件,去執行此操作;

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

這裡執行之後的返回值是ResultSet格式,因此建立一個resultset去承接這個結果即可

3。4 顯示查詢結果;

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

今日份分享已結束,請大家多多包涵和指點!

一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了

點選載入圖片

如何獲取?

相關文章