JDBC資料庫連接(MySQL為例)

來源:互聯網
上載者:User

標籤:

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方法進行交易回復

 


JDBC資料庫連接(MySQL為例)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.