欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法

 更新時(shí)間:2020年11月14日 10:58:45   作者:JiawenZhang97  
這篇文章主要介紹了使用 Navicat 創(chuàng)建數(shù)據(jù)庫(kù)并用JDBC連接的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

昨天學(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)文章

最新評(píng)論