使用 Navicat 創(chuàng)建數(shù)據(jù)庫并用JDBC連接的操作方法
昨天學(xué)習 Java 的數(shù)據(jù)庫部分,就試著寫了一下 JDBC 連接的代碼,并嘗試與數(shù)據(jù)庫進行連接。中間也是遇到了一些問題,解決之后,在這里分享一下,也算做個記錄。(有寫的不對的地方,歡迎留言)
一、Navicat 創(chuàng)建數(shù)據(jù)庫
1.首先裝這個數(shù)據(jù)庫可視化的軟件:Navicat for MySQL
(就是下面這個啦)這個就不多說了,需要的自己百度教程;
2. 建立連接
輸入連接名稱,用戶名、密碼,然后 OK 就可以創(chuàng)建新的連接了。
這樣新的連接就建立好了
3. 創(chuàng)建數(shù)據(jù)庫
右鍵 剛創(chuàng)建的 Test 連接,然后 New Database,創(chuàng)建數(shù)據(jù)庫,就是下面的界面;
輸入數(shù)據(jù)庫名稱,選擇編碼格式,OK;
點擊 Test ,會發(fā)現(xiàn)里面已經(jīng)有剛才創(chuàng)建的數(shù)據(jù)庫 databasetest,數(shù)據(jù)庫創(chuàng)建成功;
4. 創(chuàng)建數(shù)據(jù)庫表
點擊 databasetest 后,右鍵 Table,選擇 New Table,新建表;
新建表的界面如下,輸入表頭內(nèi)容,以及數(shù)據(jù)類型,設(shè)置主鍵 等等;
保存表,輸入表名;
保存的時候發(fā)現(xiàn),主鍵那塊設(shè)置可以為 NULL 了,就會提示錯誤,改一下再保存;
創(chuàng)建表完成,發(fā)現(xiàn) Table 下多了一張新的表;
5. 給表中添加內(nèi)容
自己添加數(shù)據(jù)庫表的內(nèi)容即可;
這樣就好了,在 Navicat 里的簡單操作就是這些了。
下面講一下在 Java 代碼里的操作。
二、JDBC 連接Java代碼
1. Java 代碼
這里先把代碼貼上,有一些我遇到的問題,在后面敘述;
public class ConnMySQL { public static void main(String[] args) throws Exception { //加載驅(qū)動 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ù)庫連接 //返回的 Connection 就代表了 Java 程序和數(shù)據(jù)庫的連接 Connection conn = DriverManager.getConnection(url, user, password); //使用 Connection 來創(chuàng)建一個 Statement 對象 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. 報錯:Exception in thread “main” java.lang.ClassNotFoundException: com.mysql.jdbc.
查了原因之后發(fā)現(xiàn),是因為少了一個包:mysql-connector-java-x.x.x-bin.jar;(注意:看自己的 MySQL 版本,選擇合適的安裝包)
這里放一個鏈接,是 8.0.15 的,如果需要的話可以下載;
鏈接: https://pan.baidu.com/s/1CZIPnDzn5XUTggQ-M05W1Q
提取碼: kdev
下載這個包解壓之后,進行如下安裝:
這樣問題就解決了
3. 報錯: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.
沒錯,就是這么長的錯,嗯。。。雖然不知道具體什么原因,但查了之后,解決方法如下 :
之前看到的很多 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ù)庫表里的內(nèi)容;
到此這篇關(guān)于使用 Navicat 創(chuàng)建數(shù)據(jù)庫并用JDBC連接的操作方法的文章就介紹到這了,更多相關(guān) Navicat 創(chuàng)建數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntellJ Idea 2020版添加sqlite數(shù)據(jù)庫的方法
這篇文章主要介紹了IntellJ Idea 2020版添加sqlite數(shù)據(jù)庫的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11數(shù)據(jù)庫中的左連接(left join)和右連接(right join)區(qū)別
關(guān)于左連接和右連接總結(jié)性的一句話,左連接 where只影向右表,右連接where只影響左表2012-06-06關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫概述與優(yōu)缺點對比
這篇文章介紹了關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫概述與優(yōu)缺點對比,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧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ù)庫的全過程
openGauss是一款全面友好開放,攜手伙伴共同打造的企業(yè)級開源關(guān)系型數(shù)據(jù)庫,這篇文章主要給大家介紹了關(guān)于windows環(huán)境下python連接openGauss數(shù)據(jù)庫的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-01-01