JDBC入門基礎篇
本來不想寫這部份入門級的內容,但既然欄目定為JDBC專欄,還是簡單寫一些吧.
JDBC基礎(一)
來,我們認識一下!
JDBC,JAVA平臺的DATABASE的連通性.白話一句,什麼意思啊?
就是JAVA平臺上和資料庫進行連結的/"工具/".
還是先一起來回顧一下介面吧:從下向上,介面是對/"案例/"的抽象,由一個案例抽象出一些規則.
反過來,從上向下,被抽象出來的介面是對案例的一種承諾和約束.
也就是說,只要你實現我規定的介面,你的類就已經具有了介面對外承諾的方法,只要/"客戶/"會
操作介面,不需要重新學習就會操作實現了該介面的新類!
好了,用行話來說:
1.通過介面可以實現不相關的類的相同行為.
2.通過介面可以指明多個類需要實現的方法.
3.通過介面可以瞭解物件的互動方法而不需要了解物件所對應的類藍本.
這幾句話很明白吧?好象有一本什麼模式的書把這段話用了30多頁寫出來,結果別人看了還不如
我這幾句話明白,不過我明白了為什麼有些人要寫書了.
搞懂了以上這東西,JDBC就好明白了.
為了通用,JAVA中要求有一種機制,在操作不同廠商資料庫時有相同的方法去操作,而不是每接
觸一種資料庫就要學習新的方法.完成這種機制的/"東西/"就叫/"JDBC/"了.
簡單地分,JDBC有兩部分組成,JDBC API和JDBC Driver Interface.
JDBC API就是提供給/"客戶/"(就是象你我這種菜鳥級程式設計師來用的,如果是高手都自己寫JDBC了,
哈哈)的一組獨立於資料庫的API,對任何資料庫的操作,都可以用這組API來進行.那麼要把這些通用的API
翻譯成特定資料庫能懂的/"指令/",就要由JDBC Driver Interface來實現了,所以這部份是面向JDBC驅動程
序開發商的程式設計介面,它會把我們通過JDBC API發給資料庫的通用指令翻譯給他們自己的資料庫.
還是通過實際操作來看看JDBC如何工作的吧.
因為JDBC API是通用介面,那麼程式是如何知道我要連結的是哪種資料庫呢?所以在和資料庫連
結時先要載入(或註冊可用的Driver),其實就是JDBC簽名.載入驅動程式和好多方法,最常用的就是先把驅
動程式類溶解到記憶體中,作為/"當前/"驅動程式.注意/"當前/"是說記憶體中可以有多個驅動程式,但只有現在加
載的這個作為首選連結的驅動程式.
Class.forName(/"org.gjt.mm.mysql.Driver/");
Class.forName方法是先在記憶體中溶解簽名為/"org.gjt.mm.mysql.Driver/"的Driver類,Driver類
就會把相應的實現類對應到JDBC API的介面中.比如把org.gjt.mm.mysql.Connection的例項物件賦給
java.sql.Connection介面控制程式碼,以便/"客戶/"能通過操作java.sql.Connection控制程式碼來呼叫實際的
org.gjt.mm.mysql.Connection中的方法.之於它們是如果對映的,這是廠商程式設計的,/"客戶/"只要呼叫
Class.forName(/"org.gjt.mm.mysql.Driver/");方法就可以順利地操作JDBC API了.
一個普通資料庫的連結過程為:
1.載入驅動程式.
2.通過DriverManager到得一個與資料庫連結的控制程式碼.
3.通過連結控制程式碼繫結要執行的語句.
4.接收執行結果.
5.可選的對結果的處理.
6.必要的關閉和資料庫的連結.
JDBC基礎(一)
來,我們認識一下!
JDBC,JAVA平臺的DATABASE的連通性.白話一句,什麼意思啊?
就是JAVA平臺上和資料庫進行連結的/"工具/".
還是先一起來回顧一下介面吧:從下向上,介面是對/"案例/"的抽象,由一個案例抽象出一些規則.
反過來,從上向下,被抽象出來的介面是對案例的一種承諾和約束.
也就是說,只要你實現我規定的介面,你的類就已經具有了介面對外承諾的方法,只要/"客戶/"會
操作介面,不需要重新學習就會操作實現了該介面的新類!
好了,用行話來說:
1.通過介面可以實現不相關的類的相同行為.
2.通過介面可以指明多個類需要實現的方法.
3.通過介面可以瞭解物件的互動方法而不需要了解物件所對應的類藍本.
這幾句話很明白吧?好象有一本什麼模式的書把這段話用了30多頁寫出來,結果別人看了還不如
我這幾句話明白,不過我明白了為什麼有些人要寫書了.
搞懂了以上這東西,JDBC就好明白了.
為了通用,JAVA中要求有一種機制,在操作不同廠商資料庫時有相同的方法去操作,而不是每接
觸一種資料庫就要學習新的方法.完成這種機制的/"東西/"就叫/"JDBC/"了.
簡單地分,JDBC有兩部分組成,JDBC API和JDBC Driver Interface.
JDBC API就是提供給/"客戶/"(就是象你我這種菜鳥級程式設計師來用的,如果是高手都自己寫JDBC了,
哈哈)的一組獨立於資料庫的API,對任何資料庫的操作,都可以用這組API來進行.那麼要把這些通用的API
翻譯成特定資料庫能懂的/"指令/",就要由JDBC Driver Interface來實現了,所以這部份是面向JDBC驅動程
序開發商的程式設計介面,它會把我們通過JDBC API發給資料庫的通用指令翻譯給他們自己的資料庫.
還是通過實際操作來看看JDBC如何工作的吧.
因為JDBC API是通用介面,那麼程式是如何知道我要連結的是哪種資料庫呢?所以在和資料庫連
結時先要載入(或註冊可用的Driver),其實就是JDBC簽名.載入驅動程式和好多方法,最常用的就是先把驅
動程式類溶解到記憶體中,作為/"當前/"驅動程式.注意/"當前/"是說記憶體中可以有多個驅動程式,但只有現在加
載的這個作為首選連結的驅動程式.
Class.forName(/"org.gjt.mm.mysql.Driver/");
Class.forName方法是先在記憶體中溶解簽名為/"org.gjt.mm.mysql.Driver/"的Driver類,Driver類
就會把相應的實現類對應到JDBC API的介面中.比如把org.gjt.mm.mysql.Connection的例項物件賦給
java.sql.Connection介面控制程式碼,以便/"客戶/"能通過操作java.sql.Connection控制程式碼來呼叫實際的
org.gjt.mm.mysql.Connection中的方法.之於它們是如果對映的,這是廠商程式設計的,/"客戶/"只要呼叫
Class.forName(/"org.gjt.mm.mysql.Driver/");方法就可以順利地操作JDBC API了.
一個普通資料庫的連結過程為:
1.載入驅動程式.
2.通過DriverManager到得一個與資料庫連結的控制程式碼.
3.通過連結控制程式碼繫結要執行的語句.
4.接收執行結果.
5.可選的對結果的處理.
6.必要的關閉和資料庫的連結.
相關文章
- JDBC基礎入門教程,輕鬆掌握jdbc基礎+核心技術,超全面!JDBC
- Kafka基礎入門篇Kafka
- TypeScript入門指南(基礎篇)TypeScript
- JS基礎入門篇( 一 )JS
- JS基礎入門篇(一)JS
- Dart 語言基礎入門篇Dart
- 入門MySQL——基礎語句篇MySql
- TypeScript入門完全指南(基礎篇)TypeScript
- JS基礎入門篇(十)—字串方法JS字串
- JS基礎入門篇(十八)—日期物件JS物件
- 一、Ansible基礎之入門篇
- JS基礎入門篇(七)—運算子JS
- Nginx入門到實戰(1)基礎篇Nginx
- Arduino基礎入門篇15—隨機骰子UI隨機
- 超基礎的機器學習入門-原理篇機器學習
- WebSocket系列之基礎知識入門篇Web
- jQ基礎篇–外掛開發入門
- JS基礎入門篇(十)— 陣列方法JS陣列
- (Python篇)零基礎入門第三篇Python
- Docker容器基礎入門認知-網路篇Docker
- 前端學習小結(一)—基礎入門篇前端
- vue+webpack 從入門到精通(基礎篇)VueWeb
- RxJava從放棄到入門(一):基礎篇RxJava
- RabbitMQ基礎入門MQ
- mongodb基礎入門MongoDB
- MySQL 基礎入門MySql
- ZooKeeper 基礎入門
- Elasticsearch 基礎入門Elasticsearch
- Vim 入門:基礎
- Bootstrap基礎入門boot
- Html基礎入門HTML
- ElasticSearch基礎入門Elasticsearch
- HTML 基礎入門HTML
- Dart 基礎入門Dart
- SQL入門基礎SQL
- Nginx 基礎入門Nginx
- Kafka基礎入門Kafka
- Redis入門基礎Redis