Java連接Access數(shù)據(jù)庫(kù)改成MySQL連接數(shù)據(jù)庫(kù)

升級(jí)訴求:Java連接Access已經(jīng)算是過(guò)時(shí)的產(chǎn)物了位他,一般作為存儲(chǔ)服務(wù)的應(yīng)用在Java界比較常用的還是MySQL赎离,
當(dāng)然還有Oracle數(shù)據(jù)庫(kù)伏恐。這里要講的就是連接MySQL數(shù)據(jù)庫(kù)了玫荣。
就是因?yàn)橛辛薙QL標(biāo)準(zhǔn)关面,各大廠(chǎng)商實(shí)現(xiàn)SQL語(yǔ)句基本上大同小異,
所以我們從Access平穩(wěn)的切換到MySQL數(shù)據(jù)庫(kù)也比較方便快捷嚷炉,
那如何進(jìn)行Access數(shù)據(jù)庫(kù)切換成MySQL數(shù)據(jù)呢?
下文就是指導(dǎo)手冊(cè)了探橱,如有問(wèn)題可以聯(lián)系作者一同探討喲~

1. 環(huán)境準(zhǔn)備

這里假設(shè)你已經(jīng)安裝好了必要的環(huán)境:
JDK1.8
Access 2016+
MySQL 5.7+

Microsoft Access 2016安裝教程:https://blog.csdn.net/WeiHao0240/article/details/120672363

Java使用ODBC連接Access數(shù)據(jù)庫(kù):https://blog.csdn.net/WeiHao0240/article/details/120727203

JDK8 連接Access數(shù)據(jù)庫(kù): https://blog.csdn.net/WeiHao0240/article/details/127944521

MySQL8.0和5.7安裝教程: https://blog.csdn.net/WeiHao0240/article/details/86908034

2. 下載MySQL連接驅(qū)動(dòng)

官網(wǎng)地址:https://dev.mysql.com/downloads/connector/j/


需要登錄即可下載


3. 演示代碼

碼云地址:https://gitee.com/jack0240/SCS.git
可以將源代碼下載到自己本地申屹。


src就是源碼了
card.sql 是數(shù)據(jù)庫(kù)文件,可以直接導(dǎo)入隧膏。
Card.xlsx就是導(dǎo)入的數(shù)據(jù)哗讥。
mysql-connector-j-8.0.31.jar驅(qū)動(dòng)文件,如果下載不下來(lái)官方的可以用這個(gè)胞枕。

4. 新建數(shù)據(jù)庫(kù)和表數(shù)據(jù)

4.1 新建數(shù)據(jù)庫(kù)和表

Navicat創(chuàng)建數(shù)據(jù)庫(kù)和表教程: https://blog.csdn.net/WeiHao0240/article/details/100039403
右擊你的數(shù)據(jù)庫(kù)杆煞,然后點(diǎn)擊新建數(shù)據(jù)庫(kù)

這個(gè)時(shí)候數(shù)據(jù)庫(kù)名可以隨便取一個(gè)腐泻。


雙擊剛才新建的數(shù)據(jù)庫(kù)决乎,然后右擊,點(diǎn)擊新建表

接下來(lái)就是新建表數(shù)據(jù)了派桩。

4.2 根據(jù)Access創(chuàng)建MySQL表數(shù)據(jù)

首先打開(kāi)Access數(shù)據(jù)文件构诚,然后點(diǎn)擊設(shè)計(jì)模式


然后注意下面的1(圖片中標(biāo)1的地方),是主鍵铆惑,對(duì)應(yīng)字段即可范嘱,如果沒(méi)有主鍵就不用點(diǎn)擊送膳。
2 (圖片中標(biāo)2的地方)就是對(duì)應(yīng)的字段名了,一定要一一對(duì)應(yīng)上丑蛤。
3 (圖片中標(biāo)3的地方)是類(lèi)型叠聋,也要一一對(duì)應(yīng)上,短文本對(duì)應(yīng)的是varchar受裹。

Access 數(shù)據(jù)類(lèi)型 MySQL數(shù)據(jù)類(lèi)型
短文本 varchar
長(zhǎng)文本 text
數(shù)字 float
日期/時(shí)間 datetime

表名的話(huà)不要亂起晒奕,不然的話(huà)需要更換很多地方,這時(shí)候需要找到你原始連接Access的源代碼(全局搜索jdbc:)名斟,
找到如下配置脑慧,可以看到最后一個(gè)是Card,那么表名就是它砰盐。


然后按<kbd>Ctrl </kbd> + <kbd>S</kbd>保存:表名輸入的就是上面源碼的闷袒。
這時(shí)候需要設(shè)置數(shù)據(jù)庫(kù)不區(qū)分大小寫(xiě)了,可以查看參考資料喲~

4.3 導(dǎo)入數(shù)據(jù)

首先打開(kāi)Access數(shù)據(jù)岩梳,右擊對(duì)應(yīng)的表囊骤,然后點(diǎn)擊導(dǎo)出將數(shù)據(jù)到處到Excel文件。


文件名可以修改你熟悉的地方冀值,便于查找也物。

然后將Excel文件導(dǎo)入到MySQL表里面了,需要右擊表列疗,然后點(diǎn)擊導(dǎo)入向?qū)?/strong>:

選擇Excel文件:

勾選新建好的表:

其他的默認(rèn)即可滑蚯,直接點(diǎn)擊下一步:



可以根據(jù)自己的需求選擇導(dǎo)入模式,這里我們選擇追加模式:



點(diǎn)擊最下面的刷新就可以看到導(dǎo)入的數(shù)據(jù)了抵栈。

5. 修改源代碼連接

5.1 修改驅(qū)動(dòng)

首先找到Class.forName關(guān)鍵字:
修改如下

    // MySQL 8.0以下版本
    Class.forName("com.mysql.jdbc.Driver");
 
    // MySQL 8.0及以上版本需要修改如下
    Class.forName("com.mysql.cj.jdbc.Driver");

5.2 修改數(shù)據(jù)庫(kù)連接

找到DriverManager.getConnection關(guān)鍵字:
注意3306端口號(hào)告材,是你安裝數(shù)據(jù)庫(kù)的端口號(hào)。
test是你新建數(shù)據(jù)庫(kù)的名稱(chēng)古劲。
用戶(hù)名斥赋、密碼就是MySQL安裝時(shí)設(shè)置的用戶(hù)名、密碼产艾。

// MySQL 8.0以下版本
DriverManager.getConnection("jdbc:mysql://localhost:3306/test","用戶(hù)名","密碼");

// MySQL 8.0及以上
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "用戶(hù)名","密碼");

5.3 修改前后對(duì)比

修改前:


修改后:


6. 運(yùn)行

6.1 使用命令方式

// 編譯
javac -cp ".;E:\Code\git\SCS\MySQL\mysql-connector-j-8.0.31.jar" -encoding utf-8 Main.java

// 運(yùn)行
java -cp ".;E:\Code\git\SCS\MySQL\mysql-connector-j-8.0.31.jar" Main

注意紅色方框里面的內(nèi)容疤剑。
-cp是指定額外的包進(jìn)行編譯
-encoding utf-8 是指定文件編碼。


運(yùn)行截圖:


6.2 使用Eclipse運(yùn)行

一種簡(jiǎn)單的方式就是將驅(qū)動(dòng)直接放到JDK外部包下面:
這種方式就像JDK自帶數(shù)據(jù)庫(kù)驅(qū)動(dòng)一樣闷堡,不需要額外的配置隘膘,
但是一定要放到你安裝JDK目錄jre\lib\ext目錄下喲。


接下來(lái)的另一個(gè)方式就是通用的Eclipse添加外部包的方式了:
右擊你的項(xiàng)目→Properties→Java Build Path → Libraries → Add JARs缚窿,選擇驅(qū)動(dòng)即可棘幸。


然后右擊主類(lèi),Run As → Java Application

參考資料

Java MySQL 連接教程:https://www.runoob.com/java/java-mysql-connect.html
MySQL 5.7中文亂碼與遠(yuǎn)程鏈接問(wèn)題 https://blog.csdn.net/WeiHao0240/article/details/128166409

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末倦零,一起剝皮案震驚了整個(gè)濱河市误续,隨后出現(xiàn)的幾起案子吨悍,更是在濱河造成了極大的恐慌,老刑警劉巖蹋嵌,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件育瓜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡栽烂,警方通過(guò)查閱死者的電腦和手機(jī)躏仇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)腺办,“玉大人焰手,你說(shuō)我怎么就攤上這事』澈恚” “怎么了书妻?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)躬拢。 經(jīng)常有香客問(wèn)我躲履,道長(zhǎng),這世上最難降的妖魔是什么聊闯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任工猜,我火速辦了婚禮,結(jié)果婚禮上菱蔬,老公的妹妹穿的比我還像新娘篷帅。我一直安慰自己,他們只是感情好汗销,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布犹褒。 她就那樣靜靜地躺著,像睡著了一般弛针。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上李皇,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天削茁,我揣著相機(jī)與錄音,去河邊找鬼掉房。 笑死茧跋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卓囚。 我是一名探鬼主播瘾杭,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哪亿!你這毒婦竟也來(lái)了粥烁?” 一聲冷哼從身側(cè)響起贤笆,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讨阻,沒(méi)想到半個(gè)月后芥永,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钝吮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年埋涧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奇瘦。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡棘催,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出耳标,到底是詐尸還是另有隱情醇坝,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布麻捻,位于F島的核電站纲仍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贸毕。R本人自食惡果不足惜郑叠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望明棍。 院中可真熱鬧乡革,春花似錦、人聲如沸摊腋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兴蒸。三九已至视粮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間橙凳,已是汗流浹背蕾殴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岛啸,地道東北人钓觉。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像坚踩,于是被迫代替她去往敵國(guó)和親荡灾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容