一篇文章帶你搞定Java的數據庫訪問
一、前言
在應用程序開發中,需要使用數據庫管理和存儲各種數據。在Java中,提供了一個JDBC技術(Java Database Connectivity,JDBC,Java數據庫連接),它的作用是連接數據庫并訪問。接下來小編帶大家一起來學習JDBC技術!
二、關系數據庫
1.目前,各種關系數據庫的操作基本使用SQL語言,SQL(Structured Query Language)是一個結構化查詢語言。
2.常用的SQL語句,如下所示:
三、JDBC的概述
1.JDBC是一種執行SQL語句的Java API。它由一組使用Java語言編寫的類和接口組成,使開發人員可以使用Java API來編寫數據庫應用程序。
2.使用JDBC的技術向各種關系數據庫發送SQL語句就很方便,就不必為訪問Oracle數據庫專門寫一個程序,為訪問Sybase數據庫又專門寫一個程序,只需要JDBC API寫一個程序向相應的數據庫發送SQL語句即可。開發人員使用Java語言和SQL語句編寫的數據庫應用程序,可以在任何平臺上運行。
3.JDBC驅動可以分為四種類型,包括了JDBC-ODBC橋、本地API驅動、網絡協議驅動、本地驅動。在后面會詳細的介紹這四種類型。
四、JDBC驅動類型
(一)JDBC-ODBC橋
JDBC-ODBC橋:通過驅動程序將所有的JDBC調用傳給ODBC(Open Database Connectivity,ODBC,開放數據庫互連),然后ODBC調用本地數據庫接口訪問數據庫,這種執行效率很低,它是不適合需要存儲大量數據的應用。
如下圖所示:
1)首先SQL命令通過ODBC-Bridge傳給ODBC,再由ODBC連接數據庫并傳遞SQL命令到數據庫中。
2)ODBC接受數據庫返回結果,然后通過ODBC-Bridge返回的結果給應用程序。
(二)本地API驅動
本地API驅動:通過JDBC-Native API橋接器的轉換,然后把客戶機API上的JDBC調用轉換成Oracle、 Sybase、Informix、DB2,最后存取數據庫。
如下圖所示:
1)首先應用程序去調用JDBC Driver,然后JDBC Driver使用本地函數庫和數據庫進行溝通。
2)本地函數庫返回執行結果給JDBC Driver,最后JDBC Driver返回結果給應用程序。
(三)網絡協議驅動
網絡協議驅動:把JDBC 轉換成與 DBMS 無關的網絡協議,該協議又給某個服務器轉換成一種DBMS的協議。在該網絡服務器有個中間件(middleware)可以把Java客戶機連接到不同的數據庫中,它所使用的具體協議來自提供者。
如下圖所示:
1)通過SQL命令使JDBC Driver傳給Middleware Server中,然后Middleware Server把SQL命令傳給數據庫,并和數據庫進行溝通。
2)將結果返回給Middleware Server,最后JDBC Driver返回的結果給應用程序。
(四)本地協議驅動
本地協議驅動:通過把JDBC調用轉換成具體的數據庫服務器,讓它可以接受網絡協議,然后允許客戶機上來調用DBMS服務器(數據庫管理系統(Database Management System,DBMS)),它是Intranet訪問最有效的一個解決方法。
如下圖所示:
1)首先應用程序把SQL命令傳給JDBC Driver,然后JDBC Driver通過連接數據庫傳給SQL命令。
2)將執行的結果返回給JDBC Driver,最后JDBC Driver返回結果給應用程序。
五、總結
1.本文介紹了關系數據庫、JDBC的概述、JDBC驅動類型。
2.關系數據庫SQL是一種結構化查詢語言,介紹它的常用SQL語句,例如增刪改查。
3.JDBC是一種執行SQL語句的Java API。它由一組使用Java語言編寫的類和接口組成,使開發人員可以使用Java API來編寫數據庫應用程序。
4.JDBC驅動類型分為四種,包括了JDBC-ODBC橋、本地API驅動、網絡協議驅動、本地驅動,介紹了每一種驅動類型的作用。
5.希望大家通過本文的學習,對你有所幫助!