程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL為例講解JDBC數據庫連接步驟

MySQL為例講解JDBC數據庫連接步驟

編輯:關於MYSQL數據庫

1、什麼是JDBC?有什麼作用?

Java Data Base Connectivity Java數據庫連接協議

是一種用於執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問。

他提供了一種基准,據此可以構建更高級的工具和接口,使開發人員能夠編寫數據庫應用程序

有了JDBC, 向各種關系數據發送sql語句就變得很容易了

換句話說就是有了JDBC API就不用為了訪問Oracle數據庫專門寫一個程序

或者又為訪問MySQL數據庫專門寫一個程序。

2、Java APP使用JDBC連接數據庫並處理數據有哪些操作步驟?

將驅動包所在路徑添加到CLASSPATH類路徑變量中

(如:將mysql-connector-java-5.1.5-bin.jar復制到D:\javasoft下,然後把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH變量值中)

步驟:

1)加載Driver驅動

2)創建數據庫連接對象Connection

3)創建一個可向數據庫發送SQL命令並返回結果的傳送對象Statement

4)執行SQL命令並處理返回結果

5)處理後,如果有返回結果集,關閉結果集對象ResultSet

6)關閉對應的 Statement 對象

7)關閉連接對象Connection

3、案例分析1

//1、加載驅動 com.mysql.jdbc.Driver是驅動類的路徑
Class.forName("com.mysql.jdbc.Driver");  


//2、創建數據庫連接對象
Connection conn = null ;
Statement stmt = null ;
ResultSet rs = null ;
String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本機 3306為默認端口 test為數據庫名稱
String username = "root" ;  //定義連接數據庫的用戶名和密碼
String password = "root" ;
conn = DriverManager.getConnection(url,username,password);

復制代碼 代碼如下://3、創建一個可向數據庫發送SQL命令並返回結果的傳送對象Statementstmt = conn.createStatement();

復制代碼 代碼如下://4、將sql命令通過sql傳送對象Statement傳送到數據庫執行,並返回結果String sql = "select * from user" ;rs = stmt.executeQuery(sql);

executeQuery()用於執行查詢語句,返回的是結果集,實際上就是一個滿足查詢條件的一個表

rs結果集通過指針來指定當前是哪一條數據

調用next方法,指針會指向下一條數據,如果有數據,會返回true

//5、處理結果集
while(rs.next()){
  println(rs.getString("username"));
  pringln(rs.getInt("password"));
}

這裡沒有聲明拋出異常,需要放在try catch 的try裡面,或者拋出也行,如果放在try裡面,要把catchSQLException...

finally要將conn stmt rs 都close 因為這些都是JVM的外部資源,和IO一樣都要手動關閉,它不在JVM的管理范圍內

4、案例分析2(增刪改)

增加、修改、刪除都屬於數據操作,與數據查詢不同的是:

沒有查詢結果,不需要使用ResultSet

執行方法用的是executeUpdate()不是executeQuery()

executeUpdate()方法也有返回值,但不是ResultSet,而是一個int,表示更新了多少條數據,一般可不處理

5、什麼是事務?

是一組原子性的數據庫操作,指的是一組數據庫操作中,要麼都成功,要麼都不成功。

一個經典的例子:轉賬

從100001賬戶轉賬100.00元到100002賬戶:
update account1 set money=money-100.00 where code='100001';
update account1 set money=money+100.00 where code='100002';

如何進行事務管理?

默認是自動提交的,進行事務管理時首先要設為手動提交

程序正常運行時,最後調用Connection對象的commit方法進行事務提交

程序出現異常時,調用Connection對象的rollback方法進行事務回滾

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved