使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法
昨天學(xué)習(xí) Java 的數(shù)據(jù)庫(kù)部分,就試著寫了一下 JDBC 連接的代碼,并嘗試與數(shù)據(jù)庫(kù)進(jìn)行連接。中間也是遇到了一些問題,解決之后,在這里分享一下,也算做個(gè)記錄。(有寫的不對(duì)的地方,歡迎留言)
一、Navicat 創(chuàng)建數(shù)據(jù)庫(kù)
1.首先裝這個(gè)數(shù)據(jù)庫(kù)可視化的軟件:Navicat for MySQL
(就是下面這個(gè)啦)這個(gè)就不多說了,需要的自己百度教程;
2. 建立連接
輸入連接名稱,用戶名、密碼,然后 OK 就可以創(chuàng)建新的連接了。
這樣新的連接就建立好了
3. 創(chuàng)建數(shù)據(jù)庫(kù)
右鍵 剛創(chuàng)建的 Test 連接,然后 New Database,創(chuàng)建數(shù)據(jù)庫(kù),就是下面的界面;
輸入數(shù)據(jù)庫(kù)名稱,選擇編碼格式,OK;
點(diǎn)擊 Test ,會(huì)發(fā)現(xiàn)里面已經(jīng)有剛才創(chuàng)建的數(shù)據(jù)庫(kù) databasetest,數(shù)據(jù)庫(kù)創(chuàng)建成功;
4. 創(chuàng)建數(shù)據(jù)庫(kù)表
點(diǎn)擊 databasetest 后,右鍵 Table,選擇 New Table,新建表;
新建表的界面如下,輸入表頭內(nèi)容,以及數(shù)據(jù)類型,設(shè)置主鍵 等等;
保存表,輸入表名;
保存的時(shí)候發(fā)現(xiàn),主鍵那塊設(shè)置可以為 NULL 了,就會(huì)提示錯(cuò)誤,改一下再保存;
創(chuàng)建表完成,發(fā)現(xiàn) Table 下多了一張新的表;
5. 給表中添加內(nèi)容
自己添加數(shù)據(jù)庫(kù)表的內(nèi)容即可;
這樣就好了,在 Navicat 里的簡(jiǎn)單操作就是這些了。
下面講一下在 Java 代碼里的操作。
二、JDBC 連接Java代碼
1. Java 代碼
這里先把代碼貼上,有一些我遇到的問題,在后面敘述;
public class ConnMySQL { public static void main(String[] args) throws Exception { //加載驅(qū)動(dòng) Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/databasetest?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; String user = "root"; String password = "root"; try( //用 DriverManager 獲取數(shù)據(jù)庫(kù)連接 //返回的 Connection 就代表了 Java 程序和數(shù)據(jù)庫(kù)的連接 Connection conn = DriverManager.getConnection(url, user, password); //使用 Connection 來創(chuàng)建一個(gè) Statement 對(duì)象 Statement stmt = conn.createStatement(); //執(zhí)行 SQL 語句 ResultSet rs = stmt.executeQuery("select * from student")) { while (rs.next()){ String number = rs.getString("number"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println(number + "---" + name + "---" + age); } } } }
2. 報(bào)錯(cuò):Exception in thread “main” java.lang.ClassNotFoundException: com.mysql.jdbc.
查了原因之后發(fā)現(xiàn),是因?yàn)樯倭艘粋€(gè)包:mysql-connector-java-x.x.x-bin.jar;(注意:看自己的 MySQL 版本,選擇合適的安裝包)
這里放一個(gè)鏈接,是 8.0.15 的,如果需要的話可以下載;
鏈接: https://pan.baidu.com/s/1CZIPnDzn5XUTggQ-M05W1Q
提取碼: kdev
下載這個(gè)包解壓之后,進(jìn)行如下安裝:
這樣問題就解決了
3. 報(bào)錯(cuò):Exception in thread “main” java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
沒錯(cuò),就是這么長(zhǎng)的錯(cuò),嗯。。。雖然不知道具體什么原因,但查了之后,解決方法如下 :
之前看到的很多 URL 都是這么寫的:
String url = "jdbc:mysql://localhost:3306/databasetest"
現(xiàn)在改一下,改成這樣:
String url = "jdbc:mysql://localhost:3306/databasetest?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
問題就解決了;
可以正常的輸出數(shù)據(jù)庫(kù)表里的內(nèi)容;
到此這篇關(guān)于使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法的文章就介紹到這了,更多相關(guān) Navicat 創(chuàng)建數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntellJ Idea 2020版添加sqlite數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了IntellJ Idea 2020版添加sqlite數(shù)據(jù)庫(kù)的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11數(shù)據(jù)庫(kù)中的左連接(left join)和右連接(right join)區(qū)別
關(guān)于左連接和右連接總結(jié)性的一句話,左連接 where只影向右表,右連接where只影響左表2012-06-06解決navicat遠(yuǎn)程連接mysql報(bào)錯(cuò)10038的問題
這篇文章主要介紹了解決navicat遠(yuǎn)程連接mysql報(bào)錯(cuò)10038的問題,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)概述與優(yōu)缺點(diǎn)對(duì)比
這篇文章介紹了關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)概述與優(yōu)缺點(diǎn)對(duì)比,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換
SQL SERVER 與ACCESS、EXCEL的數(shù)據(jù)轉(zhuǎn)換...2007-02-02windows環(huán)境下python連接openGauss數(shù)據(jù)庫(kù)的全過程
openGauss是一款全面友好開放,攜手伙伴共同打造的企業(yè)級(jí)開源關(guān)系型數(shù)據(jù)庫(kù),這篇文章主要給大家介紹了關(guān)于windows環(huán)境下python連接openGauss數(shù)據(jù)庫(kù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01