升級訴求:Java連接Access已經(jīng)算是過時的產(chǎn)物了,一般作為存儲服務(wù)的應(yīng)用在Java界比較常用的還是MySQL,
當(dāng)然還有Oracle數(shù)據(jù)庫。這里要講的就是連接MySQL數(shù)據(jù)庫了。
就是因為有了SQL標(biāo)準(zhǔn),各大廠商實現(xiàn)SQL語句基本上大同小異,
所以我們從Access平穩(wěn)的切換到MySQL數(shù)據(jù)庫也比較方便快捷,
那如何進(jìn)行Access數(shù)據(jù)庫切換成MySQL數(shù)據(jù)呢?
下文就是指導(dǎo)手冊了,如有問題可以聯(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ù)庫:https://blog.csdn.net/WeiHao0240/article/details/120727203
JDK8 連接Access數(shù)據(jù)庫: https://blog.csdn.net/WeiHao0240/article/details/127944521
MySQL8.0和5.7安裝教程: https://blog.csdn.net/WeiHao0240/article/details/86908034
2. 下載MySQL連接驅(qū)動
官網(wǎng)地址:https://dev.mysql.com/downloads/connector/j/
需要登錄即可下載
3. 演示代碼
碼云地址:https://gitee.com/jack0240/SCS.git
可以將源代碼下載到自己本地。
src就是源碼了card.sql 是數(shù)據(jù)庫文件,可以直接導(dǎo)入。Card.xlsx就是導(dǎo)入的數(shù)據(jù)。mysql-connector-j-8.0.31.jar驅(qū)動文件,如果下載不下來官方的可以用這個。4. 新建數(shù)據(jù)庫和表數(shù)據(jù)
4.1 新建數(shù)據(jù)庫和表
Navicat創(chuàng)建數(shù)據(jù)庫和表教程: https://blog.csdn.net/WeiHao0240/article/details/100039403
右擊你的數(shù)據(jù)庫,然后點擊新建數(shù)據(jù)庫。
這個時候數(shù)據(jù)庫名可以隨便取一個。
雙擊剛才新建的數(shù)據(jù)庫,然后右擊,點擊新建表
接下來就是新建表數(shù)據(jù)了。
4.2 根據(jù)Access創(chuàng)建MySQL表數(shù)據(jù)
首先打開Access數(shù)據(jù)文件,然后點擊設(shè)計模式:
然后注意下面的1(圖片中標(biāo)1的地方),是主鍵,對應(yīng)字段即可,如果沒有主鍵就不用點擊。
2 (圖片中標(biāo)2的地方)就是對應(yīng)的字段名了,一定要一一對應(yīng)上。
3 (圖片中標(biāo)3的地方)是類型,也要一一對應(yīng)上,短文本對應(yīng)的是varchar。
| Access 數(shù)據(jù)類型 | MySQL數(shù)據(jù)類型 |
|---|---|
| 短文本 | varchar |
| 長文本 | text |
| 數(shù)字 | float |
| 日期/時間 | datetime |
表名的話不要亂起,不然的話需要更換很多地方,這時候需要找到你原始連接Access的源代碼(全局搜索jdbc:),
找到如下配置,可以看到最后一個是Card,那么表名就是它。
然后按<kbd>Ctrl </kbd> + <kbd>S</kbd>保存:表名輸入的就是上面源碼的。
這時候需要設(shè)置數(shù)據(jù)庫不區(qū)分大小寫了,可以查看參考資料喲~
4.3 導(dǎo)入數(shù)據(jù)
首先打開Access數(shù)據(jù),右擊對應(yīng)的表,然后點擊導(dǎo)出將數(shù)據(jù)到處到Excel文件。
文件名可以修改你熟悉的地方,便于查找。
然后將Excel文件導(dǎo)入到MySQL表里面了,需要右擊表,然后點擊導(dǎo)入向?qū)?/strong>:
選擇Excel文件:
勾選新建好的表:
其他的默認(rèn)即可,直接點擊下一步:
可以根據(jù)自己的需求選擇導(dǎo)入模式,這里我們選擇追加模式:
點擊最下面的刷新就可以看到導(dǎo)入的數(shù)據(jù)了。
5. 修改源代碼連接
5.1 修改驅(qū)動
首先找到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ù)庫連接
找到DriverManager.getConnection關(guān)鍵字:
注意3306端口號,是你安裝數(shù)據(jù)庫的端口號。
test是你新建數(shù)據(jù)庫的名稱。
用戶名、密碼就是MySQL安裝時設(shè)置的用戶名、密碼。
// MySQL 8.0以下版本
DriverManager.getConnection("jdbc:mysql://localhost:3306/test","用戶名","密碼");
// MySQL 8.0及以上
DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "用戶名","密碼");
5.3 修改前后對比
修改前:
修改后:
6. 運行
6.1 使用命令方式
// 編譯
javac -cp ".;E:\Code\git\SCS\MySQL\mysql-connector-j-8.0.31.jar" -encoding utf-8 Main.java
// 運行
java -cp ".;E:\Code\git\SCS\MySQL\mysql-connector-j-8.0.31.jar" Main
注意紅色方框里面的內(nèi)容。
-cp是指定額外的包進(jìn)行編譯
-encoding utf-8 是指定文件編碼。
運行截圖:
6.2 使用Eclipse運行
一種簡單的方式就是將驅(qū)動直接放到JDK外部包下面:
這種方式就像JDK自帶數(shù)據(jù)庫驅(qū)動一樣,不需要額外的配置,
但是一定要放到你安裝JDK目錄jre\lib\ext目錄下喲。
接下來的另一個方式就是通用的Eclipse添加外部包的方式了:
右擊你的項目→Properties→Java Build Path → Libraries → Add JARs,選擇驅(qū)動即可。
然后右擊主類,Run As → Java Application
參考資料
Java MySQL 連接教程:https://www.runoob.com/java/java-mysql-connect.html
MySQL 5.7中文亂碼與遠(yuǎn)程鏈接問題 https://blog.csdn.net/WeiHao0240/article/details/128166409