目錄
- 一、Navicat 創(chuàng)建數(shù)據(jù)庫(kù)
- 二、JDBC 連接Java代碼
昨天學(xué)習(xí) Java 的數(shù)據(jù)庫(kù)部分,就試著寫(xiě)了一下 JDBC 連接的代碼,并嘗試與數(shù)據(jù)庫(kù)進(jìn)行連接。中間也是遇到了一些問(wèn)題,解決之后,在這里分享一下,也算做個(gè)記錄。(有寫(xiě)的不對(duì)的地方,歡迎留言)
一、Navicat 創(chuàng)建數(shù)據(jù)庫(kù)
1.首先裝這個(gè)數(shù)據(jù)庫(kù)可視化的軟件:Navicat for MySQL
(就是下面這個(gè)啦)這個(gè)就不多說(shuō)了,需要的自己百度教程;

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 代碼
這里先把代碼貼上,有一些我遇到的問(wèn)題,在后面敘述;
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=trueuseJDBCCompliantTimezoneShift=trueuseLegacyDatetimeCode=falseserverTimezone=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 來(lái)創(chuàng)建一個(gè) Statement 對(duì)象
Statement stmt = conn.createStatement();
//執(zhí)行 SQL 語(yǔ)句
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)行如下安裝:


這樣問(wè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.
沒(méi)錯(cuò),就是這么長(zhǎng)的錯(cuò),嗯。。。雖然不知道具體什么原因,但查了之后,解決方法如下 :
之前看到的很多 URL 都是這么寫(xiě)的:
String url = "jdbc:mysql://localhost:3306/databasetest"
現(xiàn)在改一下,改成這樣:
String url = "jdbc:mysql://localhost:3306/databasetest?useUnicode=trueuseJDBCCompliantTimezoneShift=trueuseLegacyDatetimeCode=falseserverTimezone=UTC";
問(wèn)題就解決了;

可以正常的輸出數(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)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- ubuntu kylin虛擬機(jī)中安裝KVM
- ubuntu kylin 14.10下多個(gè)mysql 5.7.14安裝教程
- Kylin對(duì)接JDBC集成Zepplin的實(shí)現(xiàn)方法