1. 程式人生 > 資料庫 >使用 Navicat 建立資料庫並用JDBC連線的操作方法

使用 Navicat 建立資料庫並用JDBC連線的操作方法

昨天學習 Java 的資料庫部分,就試著寫了一下 JDBC 連線的程式碼,並嘗試與資料庫進行連線。中間也是遇到了一些問題,解決之後,在這裡分享一下,也算做個記錄。(有寫的不對的地方,歡迎留言)

一、Navicat 建立資料庫

1.首先裝這個資料庫視覺化的軟體:Navicat for MySQL

(就是下面這個啦)這個就不多說了,需要的自己百度教程;

在這裡插入圖片描述

2. 建立連線

在這裡插入圖片描述

輸入連線名稱,使用者名稱、密碼,然後 OK 就可以建立新的連線了。

在這裡插入圖片描述

這樣新的連線就建立好了

在這裡插入圖片描述

3. 建立資料庫

右鍵 剛建立的 Test 連線,然後 New Database,建立資料庫,就是下面的介面;
輸入資料庫名稱,選擇編碼格式,OK;

在這裡插入圖片描述

點選 Test ,會發現裡面已經有剛才建立的資料庫 databasetest,資料庫建立成功;

在這裡插入圖片描述

4. 建立資料庫表

點選 databasetest 後,右鍵 Table,選擇 New Table,新建表;

在這裡插入圖片描述

新建表的介面如下,輸入表頭內容,以及資料型別,設定主鍵 等等;

在這裡插入圖片描述

儲存表,輸入表名;

在這裡插入圖片描述

儲存的時候發現,主鍵那塊設定可以為 NULL 了,就會提示錯誤,改一下再儲存;

在這裡插入圖片描述

建立表完成,發現 Table 下多了一張新的表;

在這裡插入圖片描述

5. 給表中新增內容

自己新增資料庫表的內容即可;

在這裡插入圖片描述

這樣就好了,在 Navicat 裡的簡單操作就是這些了。
下面講一下在 Java 程式碼裡的操作。

二、JDBC 連線Java程式碼

1. Java 程式碼

這裡先把程式碼貼上,有一些我遇到的問題,在後面敘述;

public class ConnMySQL {
 public static void main(String[] args) throws Exception {
 //載入驅動
 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 獲取資料庫連線
  //返回的 Connection 就代表了 Java 程式和資料庫的連線
  Connection conn = DriverManager.getConnection(url,user,password);

  //使用 Connection 來建立一個 Statement 物件
  Statement stmt = conn.createStatement();

  //執行 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.

查了原因之後發現,是因為少了一個包: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"

現在改一下,改成這樣:

String url = "jdbc:mysql://localhost:3306/databasetest?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; 

問題就解決了;

在這裡插入圖片描述

可以正常的輸出資料庫表裡的內容;

到此這篇關於使用 Navicat 建立資料庫並用JDBC連線的操作方法的文章就介紹到這了,更多相關 Navicat 建立資料庫內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!