一文教你快速避開JDBC中常見的坑, 網友: 編寫程式碼再也不翻車了
今日分享開始啦,請大家多多指教~
點選載入圖片
1。概念:
JDBC,即
Java
Database Connectivity,java
資料庫
連線。是一種用於執行SQL語句的Java API,它是Java中的資料庫連線規範。這個API由 java。sql。,javax。sql。 包中的一些類和介面組成,它為Java開發人員操作資料庫提供了一個標準的API,可以為多種關係資料庫提供統一訪問。
1。1
jdbc
工作原理
JDBC 為多種關係資料庫提供了統一訪問方式,作為特定廠商資料庫訪問API的一種高階抽象,它主要包含一些通用的介面類。
JDBC訪問資料庫層次結構:
點選載入圖片
1。2 JDBC優勢:
Java語言訪問資料庫操作完全面向抽象介面程式設計
開發資料庫應用不用限定在特定資料庫廠商的API
程式的可移植性大大增強
2。引入mysql的jar包
首先將mysql-connector-jar包放入專案的lib資料夾下:
點選載入圖片
建立jar包和專案之間的聯絡
點選載入圖片
點選載入圖片
點選載入圖片
點選載入圖片
接下來就可以使用jdbc進行程式設計了
3。jdbc的使用
3。1 首先載入mysql的驅動程式
點選載入圖片
這裡使用Class。forName載入依賴包,具體是怎麼操作的呢?
我們知道Class。forName 方法要求JVM查詢並載入指定的類到記憶體中,此時將“com。mysql。jdbc。Driver” 當做引數傳入,就是告訴JVM,去“com。mysql。jdbc”這個路徑下找Driver類,將其載入到記憶體中。
看看Driver 的原始碼:
點選載入圖片
這裡new了一個Driver物件傳給了registerDriver
看看DriverManager。registerDriver這個方法做了什麼:
點選載入圖片
如果該驅動尚未註冊,那麼將它新增到 registeredDrivers 中去。
此時,Class。forName(“com。mysql。jdbc。Driver”) 的工作就完成了,工作就是:將mysql驅動註冊到DriverManager中去。接下來我們看是怎麼進行呼叫的
3。2 建立資料庫和jvm的連結
點選載入圖片
這裡getConnection到底幹了什麼事情呢?
點選載入圖片
這裡返回的getConnection方法,再看看這裡的getConnection。
點選載入圖片
點選載入圖片
點選載入圖片
首先看看這三個引數都代表著什麼
點選載入圖片
在原始碼的此處用到了url以及info
點選載入圖片
找到了最終url解釋的位置:這裡的url指的是資料庫的連結,如果驅動器能夠解析這個url找到此資料庫就返回true。
點選載入圖片
info物件中儲存的是使用資料庫的成員和密碼;
getConnection的上述原始碼中首先利用類載入機制載入了mysql’的驅動器,接下來遍歷快取中的驅動器檢視是否存在當前驅動,存在就利用驅動進行資料庫連結;
點選載入圖片
點選載入圖片
url設定:
這裡的連結根據不同資料庫系統採用不同的協議格式,ip地址選擇連結本地的ip地址,也可以是localhost;
3。3 執行sql語句
點選載入圖片
這裡的statement負責執行sql語句:下面看看它到底幹了什麼
點選載入圖片
傳送引數化的sql語句到資料庫;
可以看到這裡建立了一個PreparedStatement物件,去執行此操作;
點選載入圖片
這裡執行之後的返回值是ResultSet格式,因此建立一個resultset去承接這個結果即可
3。4 顯示查詢結果;
點選載入圖片
點選載入圖片
今日份分享已結束,請大家多多包涵和指點!
點選載入圖片
如何獲取?
相關文章
- 2021-09-27黃章不再低調, 驍龍888+120Hz+2K, 魅族18降至冰點價
- 2021-09-27《中國好聲音2021》第八期, 伍珂玥對戰譚軒轅, 結果惹爭議
- 2021-09-27無性婚姻的女人, 最後都怎麼樣了? 來自一個40歲女人的自述
- 2021-09-2758張“大開眼界”的神奇圖片, 沒有PS過, 你相信嗎?
- 2021-09-27“一碰就懷孕”的女性, 一般有4個特質, 明眼人一眼就能看出