升級(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