Java從入門到入土(83)JDBC示例

在連接數(shù)據(jù)庫前除了安裝數(shù)據(jù)庫外還需要配置數(shù)據(jù)庫驅(qū)動(dòng)程序
在官網(wǎng)下載java的mysql驅(qū)動(dòng)
https://dev.mysql.com/downloads/connector/j/
注意驅(qū)動(dòng)程序應(yīng)該和你的mysql版本相對應(yīng)
如下為官網(wǎng)版本對應(yīng)的文檔
https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-versions.html
解壓后將connector文件導(dǎo)入項(xiàng)目中如下所示?

右鍵connector文件->Build Path->add to build path

接著通過程序連接數(shù)據(jù)庫
注意,新版本的驅(qū)動(dòng)不再需要Class.forName() 顯式地加載 JDBC 驅(qū)動(dòng)程序

控制臺(tái)輸出如下:

增刪改同理可得
同時(shí)我們可以使用PreparedStatement操作sql語句,PreparedStatement的作用是對sql操作進(jìn)行預(yù)處理,即先寫sql語句,sql語句中的參數(shù)后續(xù)再填寫。如下為使用PreparedStatement插入數(shù)據(jù)與查詢數(shù)據(jù):

下面例子用于處理長文本和圖片內(nèi)容
在數(shù)據(jù)庫中新建數(shù)據(jù)表如下:
create table txtjpg(
? ? ? tid int primary key,
? ? ? note longtext,
? ? ? photo longblob
)
新建一個(gè)測試用的txt文件,向里面任意復(fù)制大段文字(小于4GB)。
同時(shí)準(zhǔn)備一張照片。

注意文本編碼格式需要為utf8,否則會(huì)報(bào)錯(cuò)
插入數(shù)據(jù)庫中的數(shù)據(jù)如圖所示:

接著進(jìn)行讀取

此時(shí)可以看到d盤下多出了相關(guān)文件
最后,簡單介紹一下mysql的事務(wù)處理
事務(wù)處理是由一個(gè)或多個(gè)SQL語句序列結(jié)合在一起所形成的一個(gè)邏輯處理單元。
事務(wù)擁有以下特性:
原子性:事務(wù)是一個(gè)完整操作,事務(wù)中的各步操作不可分割。
一致性:事務(wù)操作前后,數(shù)據(jù)保持一致
隔離性:多個(gè)事務(wù)可以并發(fā),但是數(shù)據(jù)相互隔離,只有完成以后才可以看到結(jié)果
持久性:持久性意味著一旦事務(wù)執(zhí)行成功,在系統(tǒng)中產(chǎn)生的所有變化將是永久的,即不管系統(tǒng)以后發(fā)生了什么變化,完成的事務(wù)是系統(tǒng)永久的部分。
舉出例子:

想要領(lǐng)取資料的小伙伴們,請關(guān)注下方微信公眾號領(lǐng)取哦~?
然后就等著私信查收吧~

