1. 程式人生 > >Java開發工程師(Web方向) - 03.數據庫開發 - 第1章.JDBC

Java開發工程師(Web方向) - 03.數據庫開發 - 第1章.JDBC

class java類庫 nload 個數 註冊 化工 建立數據庫 get tin

第1章--JDBC

JDBC基礎

通過Java Database Connectivity可以實現Java程序對後端數據庫的訪問

一個完整的數據庫部署架構,通常是由客戶端和服務器端兩部分組成

客戶端封裝數據庫請求,並發送給服務器端,服務器端執行完畢後將結果返回給客戶端

常見客戶端工具:

MySQL Workbench(圖形化工具操作簡單,但只能實現簡單的查詢)

JDBC(驅動程序jar包)

命令行工具(直接敲入SQL語句進行查詢)

市面上多種數據庫不盡相同,學習成本高,數據庫遷移的移植性

-- JDBC(普通的Java類庫): 應用程序通過統一的接口,即可實現對任意數據庫的訪問。

對於數據庫廠商來說,JDBC就是一套接口規範,每一個數據庫都需要實現JDBC定義的接口,用戶通過接口訪問數據庫即可。

JDBC優勢:對數據庫的訪問簡單,開發快捷、省時間,面向不同數據庫時的移植性強,在JDBC上可以定制功能強大的框架(如MyBatis)

體系架構:

技術分享

上層API層負責與Java Web程序之間的通信

JDBC API:

技術分享

Driver & DriverManager:

Driver是驅動程序的抽象,通過操作Driver接口,可以實現對各個驅動程序的操作

DriverManager是驅動程序的管理類,用戶通過Class.forname(DriverName)向DriverManager註冊一個驅動程序,

之後通過DriverManager的getConnection方法調用該驅動程序建立到後端數據庫的物理連接。

DriverManager.getConnection(DB_URL, USER, PASS));

// USER和PASS在部署數據庫時獲得

// DB_URL是後端數據庫實例的唯一標識符

i.e. jdbc : mysql : //10.164.172.20:3306/cloud_study

協議 子協議 子名稱(主機 端口 數據庫)

(子協議不同,子名稱的格式也略有不同。)

Connection:通過DriverManager的getConnection方法獲得的到後端數據庫的物理連接

Java應用程序對後端數據庫的一條物理連接

通過這些連接,可以執行一些SQL語句:

Statement stmt = conn.createStatement(); // sql statement

Statement:sql語句的容器,用於承載sql語句,在該容器中,可以進行增刪改查等操作

通過executeQuery方法,執行數據庫查詢並得到返回結果的集合,以ResultSet類的對象來表示:

ResultSet rs = stmt.executeQuery("select userName from user");

通過executeUpdate方法,執行數據庫更新、刪除語句,返回的是int值的對象,代表被影響的數據庫記錄數量

ResultSet對象表示一個sql語句查詢的結果。

關系型數據庫:二元表 -- ResultSet對象也是由行和列組成的

ResultSet對象內部有一個指針,指向當前對應的行記錄(默認指向第一行記錄)

.next():將指針移動到下一行

.previous():將指針移動到下一行

.absolute():將指針定位在某一行

.beforeFirst():將指針移到第一行的之前(通過.next()才能到第一行)

.afterLast():將指針移到最後一行之後

.getString(ColumnName/Index):(index從0開始)獲取對應列的值

.getInt(ColumnName/Index):

.getObject(ColumnName/Index):

SQLException:在執行過程中MySQL可能會拋出一些異常

通過捕獲SQLException對象來進行異常的處理

下層Driver API層負責與具體的數據庫建立連接,一般而言下層的driver都是由數據庫廠商提供的。

安裝JDBC:

JDBC已經集成在JDK中,可以直接引用,無需安裝。

需要安裝的是數據庫的驅動程序

對於MySQL數據庫:

登陸Oracle賬號,下載jar包,添加到java web project中。

https://dev.mysql.com/downloads/connector/ 下載Connector/J 5.1.43

構建完整的Java Web程序:

構建步驟:

裝載驅動程序:向DriverManager註冊一個驅動程序Driver

建立數據庫連接:DriverManager.getConnection()

執行SQL語句:Statement.execute...()

獲取執行結果:ResultSet對象

清理環境:

使用JDBC之前,需要準備一個數據庫的後端實例,創建一個user表

Java開發工程師(Web方向) - 03.數據庫開發 - 第1章.JDBC