傳智播客Java培訓---JDBC
大多數情況下,特別是企業級應用,資料需要進行持久化儲存,以便於以後使用,在以前沒有學習資料庫的時候,我們都是將資料存放在本地硬碟檔案或者XML資料檔案中,比如說前一段時間做的小型圖書管理系統和通訊錄,都是將資訊和資料存放在XML檔案中,但是這很不方便而且安全性不高,大多數情況下都是將資料存放在像mysql這類關係型資料庫中,而現在,在我們學習了資料庫的基本操作以及JDBC後,我們就可以實現這個操作。
JDBC(Java Data Base Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關聯式資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。在Java中,資料庫存取技術可分為JDBC直接訪問資料庫和使用第三方O/R工具,如hibernate,ibatis等,JDBC是Java訪問資料庫的基石,其他技術都是對JDBC的封裝。
目前有四種可供使用的JDBC驅動程式,JDBC-ODBC橋、部分本地API部分Java的驅動程式、JDBC網路純Java驅動程式、本地協議的純java驅動程式,這四種中,本地協議的純java驅動程式是最成熟的JDBC驅動程式,不但無需再使用者計算機上安裝額外驅動,也不需要在伺服器端安裝任何中介程式,所有的存取操作,都直接由驅動程式完成。
開發的基本步驟
1、註冊驅動
2、開啟連線
3、準備請求
4、執行請求
5、處理結果
6、釋放資源
註冊驅動:
今天介紹了三種裝載驅動程式的方法:
(1) java.sql.Driver driver = new com.mysql.jdbc.Driver();
(2) DriverManager.registerDriver(new com.mysql.jdbc.Driver());
(3) Class.forName("com.mysql.jdbc.Driver");
一般使用第三種方法來裝載驅動建立連線,因為Driver類中都包含靜態程式碼塊,在靜態程式碼塊中,會呼叫DriverManager.registerDriver() 方法來註冊自身的一個例項
開啟連線:
介面Connection
表示與特定資料庫的連線(會話)。用來表示資料庫連線的物件,對資料庫的一切操作都是在這個連線的基礎上進行的。
Connection conn = DriverManager.getConnection(url, username, password);
其中url=主協議:子協議://要連線的資料庫地址:埠號/資料庫名稱
準備請求:
對資料庫的請求就是傳送SQL語句給資料庫。
Statement介面
作用:用於執行靜態SQL 語句並返回它所生成結果的物件。用於在已經建立的連線的基礎上向資料庫傳送SQL語句的物件。包括執行SQL語句和獲取返回結果的方法。一般來說,不太推薦在select後面使用*,因為效率比較低。
使用Connection介面中的createStatement方法,獲取Statement介面物件
conn = conn.createStatement();
執行請求(獲取結果):
ResultSet介面
表示資料庫結果集的資料表,通常通過執行查詢資料庫的語句生成。
Statement介面執行SQL語句讀寫資料的方法:executeQuery、executeUpdate
查詢資料(讀資料,取資料):executeQuery方法用於產生單個結果集的SQL語句,如SELECT語句
更改資料(寫資料,存資料):executeUpdate方法用於執行INSERT、 UPDATE、DELETE及DDL(資料定義語言)語句。executeUpdate 的返回值是一個整數,表示它執行的SQL語句所影響的資料庫中的表的行數(更新計數)。
處理結果:
ResultSet介面
表示資料庫結果集的資料表,通常通過執行查詢資料庫的語句生成。可以看作是“記憶體”的一張二維表。
處理ResultSet中資料
定位行
ResultSet物件使用游標指向當前資料行。開始時游標被置於第一行之前(不是在處於
第一行)。
定位列
藉助列名或者列的編號(編號是從1開始),列的順序取決於select 後面的欄位的順序。
取值:(從資料庫中找到對應的值)
提供了一套 get 方法對已經定位的資料進行訪問。
getXXX(列號,列的資料型別)
釋放資源:
資源包括:ResultSet,Statement,Connnection
使用完後立即釋放資源是一個好習慣,可避免對資料庫資源的佔用。 不等待該物件自動關閉時釋放資源。注意關閉順序是從內到外,ResultSet-Statement-Connnection.
相關文章
- 傳智播客java培訓EMS2010-5-27Java
- 傳智播客 java基礎 相關資料 Day1Java
- 馬士兵Java和傳智播客Java系列視訊教程免費下載Java
- Java培訓教程之JDBC URL結構分析JavaJDBC
- 【傳智播客上海校區】TreeMap原始碼解析原始碼
- 傳智播客PHP面試題寶典開放下載PHP面試題
- 【傳智播客上海校區】java類和物件的關係的通俗理解Java物件
- 傳智播客:人工智慧學習線路概況人工智慧
- 軟體工程系得到傳智播客的大力支援軟體工程
- 武漢Java培訓教程之JDBC中的常用介面和類JavaJDBC
- 最新傳智播客nodejs入門到精通(全套視訊)NodeJS
- Java培訓:長沙Java培訓機構排名Java
- 傳智播客中JavaWeb程式設計任務教程的作業JavaWeb程式設計
- 傳智播客上海校區:你為什麼一定要學Python?Python
- 黑馬程式設計師Java培訓和Android培訓:培訓前奏程式設計師JavaAndroid
- java培訓資料Java
- Java培訓筆記Java筆記
- java培訓內容Java
- java 培訓日記Java
- 尹成老師主辦培訓教學機構 智鋒互聯 傳播智慧我們用心,人生衝鋒你們用心
- java培訓分享:java培訓架構師學習線路圖Java架構
- 傳智播客2018年python基礎班就業班人工智慧深度學習機器學習黑馬15期Python就業班全套培訓教程Python就業人工智慧深度學習機器學習
- 傳智播客黑馬.NET+Unity3D 遊戲開發視訊教程Unity3D遊戲開發
- 傳智播客168期JavaEE就業班(第十一天 cookie session)Java就業CookieSession
- 傳智播客_畢姥爺_2012年畢向東Java基礎教程_畢向東老師Java
- Java程式設計師技術培訓需要培訓哪些?Java程式設計師
- 培訓的螢幕廣播網路應用
- java培訓面試技巧分享Java面試
- JAVA要不要培訓Java
- 好程式設計師Java培訓分享JDBC運算元據庫的步驟程式設計師JavaJDBC
- 2016傳智播客大資料第三期完整版大資料
- 培訓Java與自學Java的差距Java
- 長沙Java培訓:自學Java程式設計有必要報培訓班麼?Java程式設計
- 長沙Java培訓機構哪家好?怎麼才能避免Java培訓的坑?Java
- 黑馬程式設計師Java培訓和Android培訓Java技術二程式設計師JavaAndroid
- 【備忘】傳智播客35期JavaEE工程師從基礎到實戰視訊Java工程師
- 傳智播客上海校區受邀參與“2017華為雲技術私享會
- Java培訓學些什麼?Java