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

MySQL為例講授JDBC數據庫銜接步調

編輯:MySQL綜合教程

MySQL為例講授JDBC數據庫銜接步調。本站提示廣大學習愛好者:(MySQL為例講授JDBC數據庫銜接步調)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL為例講授JDBC數據庫銜接步調正文


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