IDEA連接本地Mysql數據庫避坑指南


關於本地安裝mysql請參考我的上一篇博客:

https://www.cnblogs.com/cckong/p/13977440.html

下面我來一步一步教大家你的java程序如何通過JDBC鏈接上數據庫!

1.確保你的mysql已經添加進環境變量

參考這篇 https://jingyan.baidu.com/article/3052f5a1e23d6997f31f860c.html

此步驟的功能是讓任何人都可以訪問mysql

不需要以管理員身份才能訪問

 

 

 2.下載Mysql的jar包並放進IDEA

參考  https://www.runoob.com/java/java-mysql-connect.html

這篇博客前半段有下載地址 (注意下載與你mysql對應版本jar包)

下載成功后我們導入idea

如下打開

 

 

 

 

 

 

點擊SDKs

 

 

 

 點擊+號添加對應jar包

添加成功后 最后應在

 

 

 

 3.接着我們向數據庫中寫點東西 來證明鏈接是否成功

(具體mysql語句 參考https://www.runoob.com/mysql/mysql-create-database.html)

 

 4.我們來驗證一下

其中的   conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");

需要注意的是要改成你的   conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:端口號/數據庫名稱?test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"你的登錄名(一般是root)","你的密碼")

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class test {
    public static void main(String[] args) {
        ResultSet rs = null;
        Statement stmt = null;
        Connection conn = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");
            stmt = conn.createStatement();
            rs = stmt.executeQuery("select * from tablename1");

            while (rs.next()) {
// 根據字段名獲取相應的值
//                String name = rs.getString("name");
//                String sex = rs.getString("sex");
                int age = rs.getInt("age");

// 輸出查到的記錄的各個字段的值
                System.out.println( " " + age);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (rs != null) {
                    rs.close();
                    rs = null;
                }
                if (stmt != null) {
                    stmt.close();
                    stmt = null;
                }
                if (conn != null) {
                    conn.close();
                    conn = null;
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

 

5.輸出 成功!

 

 

 

踩坑過程:

(1)timezone問題

在url中加入一個語句           "jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE"。

(2)Access denied for user ''@'localhost' (using password: NO)問題

有可能是我當初沒有設置環境變量問題

也有可能 我那個代碼復制過來的getconnection的參數問題

 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM