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

有了JDBC, 向各種關(guān)系數(shù)據(jù)發(fā)送sql語(yǔ)句就變得很容易了
換句話說(shuō)就是有了JDBC API就不用為了訪問(wèn)Oracle數(shù)據(jù)庫(kù)專門寫一個(gè)程序
或者又為訪問(wèn)MySQL數(shù)據(jù)庫(kù)專門寫一個(gè)程序。
2、Java APP使用JDBC連接數(shù)據(jù)庫(kù)并處理數(shù)據(jù)有哪些操作步驟?
將驅(qū)動(dòng)包所在路徑添加到CLASSPATH類路徑變量中
(如:將mysql-connector-java-5.1.5-bin.jar復(fù)制到D:\javasoft下,然后把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH變量值中)
步驟:
1)加載Driver驅(qū)動(dòng)
2)創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象Connection
3)創(chuàng)建一個(gè)可向數(shù)據(jù)庫(kù)發(fā)送SQL命令并返回結(jié)果的傳送對(duì)象Statement
4)執(zhí)行SQL命令并處理返回結(jié)果
5)處理后,如果有返回結(jié)果集,關(guān)閉結(jié)果集對(duì)象ResultSet
6)關(guān)閉對(duì)應(yīng)的 Statement 對(duì)象
7)關(guān)閉連接對(duì)象Connection
3、案例分析1
//1、加載驅(qū)動(dòng) com.mysql.jdbc.Driver是驅(qū)動(dòng)類的路徑
Class.forName("com.mysql.jdbc.Driver");
//2、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象
Connection conn = null ;
Statement stmt = null ;
ResultSet rs = null ;
String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本機(jī) 3306為默認(rèn)端口 test為數(shù)據(jù)庫(kù)名稱
String username = "root" ; //定義連接數(shù)據(jù)庫(kù)的用戶名和密碼
String password = "root" ;
conn = DriverManager.getConnection(url,username,password);



executeQuery()用于執(zhí)行查詢語(yǔ)句,返回的是結(jié)果集,實(shí)際上就是一個(gè)滿足查詢條件的一個(gè)表
rs結(jié)果集通過(guò)指針來(lái)指定當(dāng)前是哪一條數(shù)據(jù)
調(diào)用next方法,指針會(huì)指向下一條數(shù)據(jù),如果有數(shù)據(jù),會(huì)返回true
//5、處理結(jié)果集
while(rs.next()){
println(rs.getString("username"));
pringln(rs.getInt("password"));
}
這里沒(méi)有聲明拋出異常,需要放在try catch 的try里面,或者拋出也行,如果放在try里面,要把catchSQLException...
finally要將conn stmt rs 都close 因?yàn)檫@些都是JVM的外部資源,和IO一樣都要手動(dòng)關(guān)閉,它不在JVM的管理范圍內(nèi)
4、案例分析2(增刪改)
增加、修改、刪除都屬于數(shù)據(jù)操作,與數(shù)據(jù)查詢不同的是:
沒(méi)有查詢結(jié)果,不需要使用ResultSet
執(zhí)行方法用的是executeUpdate()不是executeQuery()
executeUpdate()方法也有返回值,但不是ResultSet,而是一個(gè)int,表示更新了多少條數(shù)據(jù),一般可不處理
5、什么是事務(wù)?
是一組原子性的數(shù)據(jù)庫(kù)操作,指的是一組數(shù)據(jù)庫(kù)操作中,要么都成功,要么都不成功。
一個(gè)經(jīng)典的例子:轉(zhuǎn)賬
從100001賬戶轉(zhuǎn)賬100.00元到100002賬戶:
update account1 set money=money-100.00 where code='100001';
update account1 set money=money+100.00 where code='100002';
如何進(jìn)行事務(wù)管理?
默認(rèn)是自動(dòng)提交的,進(jìn)行事務(wù)管理時(shí)首先要設(shè)為手動(dòng)提交
程序正常運(yùn)行時(shí),最后調(diào)用Connection對(duì)象的commit方法進(jìn)行事務(wù)提交
程序出現(xiàn)異常時(shí),調(diào)用Connection對(duì)象的rollback方法進(jìn)行事務(wù)回滾
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java使用JDBC向MySQL數(shù)據(jù)庫(kù)批次插入10W條數(shù)據(jù)(測(cè)試效率)
- centos7安裝mysql并jdbc測(cè)試教程
- Java使用JDBC驅(qū)動(dòng)連接MySQL數(shù)據(jù)庫(kù)
- JSP中使用JDBC連接MySQL數(shù)據(jù)庫(kù)的詳細(xì)步驟
- 詳解spring開發(fā)_JDBC操作MySQL數(shù)據(jù)庫(kù)
- 使用JDBC在MySQL數(shù)據(jù)庫(kù)中如何快速批量插入數(shù)據(jù)
- javaweb學(xué)習(xí)總結(jié)——使用JDBC處理MySQL大數(shù)據(jù)
- JDBC 連接MySQL實(shí)例詳解
- java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作
- JDBC連接mysql處理中文時(shí)亂碼解決辦法詳解
相關(guān)文章
MySQL 創(chuàng)建索引(Create Index)的方法和語(yǔ)法結(jié)構(gòu)及例子
MySQL 創(chuàng)建索引(Create Index)的方法和語(yǔ)法結(jié)構(gòu)及例子2009-07-07
MySQL聯(lián)合查詢實(shí)現(xiàn)方法詳解
聯(lián)合查詢union將多次查詢(多條select語(yǔ)句)的結(jié)果,在字段數(shù)相同的情況下,在記錄的層次上進(jìn)行拼接,這篇文章主要給大家介紹了關(guān)于Mysql聯(lián)合查詢的那些事兒,需要的朋友可以參考下2022-11-11
Mysql數(shù)據(jù)庫(kù)之常用sql語(yǔ)句進(jìn)階與總結(jié)
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)之常用sql語(yǔ)句,總結(jié)分析了MySQL數(shù)據(jù)庫(kù)常用的查詢、條件查詢、排序、連接查詢、子查詢等相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
Mysql8報(bào)錯(cuò)this is incompatible with sql_mo
這篇文章主要介紹了Mysql8報(bào)錯(cuò)this is incompatible with sql_mode=only_full_group_by問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
工作中常用的mysql語(yǔ)句分享 不用php也可以實(shí)現(xiàn)的效果
本文給大家介紹幾條比較有用的MySQL的SQL語(yǔ)句,可能很多人都通過(guò)PHP來(lái)實(shí)現(xiàn)這些功能,其實(shí)數(shù)據(jù)也是能實(shí)現(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ū)別整理,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-08-08
mysql 5.7.21 winx64綠色版安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了mysql 5.7.21 winx64綠色版安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09

