目錄
- 一、Navicat 創(chuàng)建數(shù)據(jù)庫
- 二、JDBC 連接Java代碼
昨天學(xué)習(xí) 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=trueuseJDBCCompliantTimezoneShift=trueuseLegacyDatetimeCode=falseserverTimezone=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=trueuseJDBCCompliantTimezoneShift=trueuseLegacyDatetimeCode=falseserverTimezone=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)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- ubuntu kylin虛擬機中安裝KVM
- ubuntu kylin 14.10下多個mysql 5.7.14安裝教程
- Kylin對接JDBC集成Zepplin的實現(xiàn)方法