哥哥面前一條彎彎的河-「JDBC」連接資料庫
閱讀文本大概需要 6 分鐘。
1 JDBC概述
JDBC(Java Data Base Connectivity) 它是Sun公司提供的一套操作資料庫的標準規範。
通過Java程序調用Sql語句對資料庫進行CRUD操作。
簡單地說,JDBC 可做三件事:與資料庫建立連接、發送操作資料庫的語句並處理結果。
2 JDBC原理
Java 公司制定一整套 介面
資料庫公司 用Java語言去實現了 介面
Java開發工程師 通過介面 和 實現類 操作資料庫
JDBC的使用,就是學習 JDBC API
實現:Java -- sun 定義的一些操作介面 ,資料庫廠商 提供驅動(介面的實現)
JDBC API的介面
1、DriverManager 驅動管理 (驅動 資料庫公司的實現類 .jar)
2、Connection 資料庫連接會話 用於獲取資料庫連接
3、Statement 數據通信的聲明 用於執行SQL語句
PreparedStatement 預編譯的聲明。(提前編譯,效率高,安全)
4、ResultSet 結果集 (查詢到的數據集合)
3 JDBC 基本使用步驟:
// 先來介紹下操作資料庫的步驟:
1、為我們的項目 添加驅動包 .jar
2、註冊 載入 驅動
3、用過 DriverManager 獲取資料庫連接 Connection
4、準備要執行的 sql 字元串,獲取資料庫的會話 Statement
5、通過 Statement 執行 sql 語句
6、操作 資料庫結果集
7、關閉資源
1. 四大參數準備
驅動名:com.mysql.jdbc.Driver
獲取連接 Connection 需要有資料庫的地址用戶名密碼
資料庫地址:jdbc:mysql://localhost:3306/exam(資料庫名)
URL 比較複雜
JDBC規定url的格式由三部分組成,每個部分中間使用冒號分隔。
第一部分是jdbc,這是固定的;
第二部分是資料庫名稱,那麼連接mysql資料庫,第二部分當然是mysql了;
第三部分是由資料庫廠商規定的,我們需要了解每個資料庫廠商的要求,
mysql的第三部分分別由資料庫伺服器的IP地址(localhost)、埠號(3306),以及DATABASE名稱(exam) 組成。
Oracle: jdbc:oracle:thin:@主機:埠:資料庫名
例如: jdbc:oracle:thin:@localhost:1521:orcl
MySQL: jdbc:mysql://主機:埠/資料庫名
例如: jdbc:mysql://localhost:3306/exam
2. 註冊驅動
class.forName 註冊驅動用到了反射。
3. 獲取鏈接
傳入準備好的參數
Connection con=DriverManager.getConnection(url, user, password);
4. 創建statement對象 操作sql語言
Statement st=con.createStatement();
5. 創建ResultSet保存結果
String sql="select * from emp";
re=st.executeQuery(sql);
6. 遍歷採用一個迭代器
while(re.next()){ … }
整體參考代碼:
是的,這裡的代碼很長的,『雜訊』太多了, 把業務代碼全給淹沒了。我們梳理一下核心業務:
指定資料庫連接參數
打開資料庫連接
聲明SQL語句
預編譯並執行SQL語句
遍歷查詢結果
處理每一次遍歷操作
處理拋出的任何異常
處理事務
關閉資料庫連接
可現在,為了正確的打開和關閉你定義的Connection,Statement,ResultSet 需要花很多功夫,再加上那些異常處理。一個 30 多行的程序, 真正做事的也就那麼幾行 而已。難怪有人會說我們 Java 繁瑣了,這些瑣碎代碼真的太煩人了。
不過好在我們還可以封裝工具類JDBCUtils。提供獲取連接對象的方法,從而達到代碼的重複利用。 至於如果封裝工具類 那就是我們下次的內容了。。。
後期更多優選推文,各種資料、分享猛料放出,關注「阿凱不錯」公眾號,獲取實時動態:
大家還有什麼需求,也可以後台留言給我,公眾號上還有其他學習資源哦....
TAG:程序員阿凱 |