MySQL為例講解JDBC數據庫連接步驟
1、什么是JDBC?有什么作用?
Java Data Base Connectivity Java數據庫連接協(xié)議
是一種用于執(zhí)行SQL語句的Java API,可以為多種關系數據庫提供統(tǒng)一訪問。
他提供了一種基準,據此可以構建更高級的工具和接口,使開發(fā)人員能夠編寫數據庫應用程序

有了JDBC, 向各種關系數據發(fā)送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)創(chuàng)建數據庫連接對象Connection
3)創(chuàng)建一個可向數據庫發(fā)送SQL命令并返回結果的傳送對象Statement
4)執(zhí)行SQL命令并處理返回結果
5)處理后,如果有返回結果集,關閉結果集對象ResultSet
6)關閉對應的 Statement 對象
7)關閉連接對象Connection
3、案例分析1
//1、加載驅動 com.mysql.jdbc.Driver是驅動類的路徑
Class.forName("com.mysql.jdbc.Driver");
//2、創(chuàng)建數據庫連接對象
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);



executeQuery()用于執(zhí)行查詢語句,返回的是結果集,實際上就是一個滿足查詢條件的一個表
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
執(zhí)行方法用的是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方法進行事務提交
程序出現(xiàn)異常時,調用Connection對象的rollback方法進行事務回滾
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
MySQL 創(chuàng)建索引(Create Index)的方法和語法結構及例子
MySQL 創(chuàng)建索引(Create Index)的方法和語法結構及例子2009-07-07
Mysql8報錯this is incompatible with sql_mo
這篇文章主要介紹了Mysql8報錯this is incompatible with sql_mode=only_full_group_by問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
工作中常用的mysql語句分享 不用php也可以實現(xiàn)的效果
本文給大家介紹幾條比較有用的MySQL的SQL語句,可能很多人都通過PHP來實現(xiàn)這些功能,其實數據也是能實現(xiàn)很多功能的2012-05-05
MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區(qū)別整理
這篇文章主要介紹了MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區(qū)別整理,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-08-08
mysql 5.7.21 winx64綠色版安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了mysql 5.7.21 winx64綠色版安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09

