jdbc連接mysql數據庫


用jdbc連接數據庫時總是會出現如下問題

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911)
 at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953)
 at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
 at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
 at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
 at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
 at java.lang.reflect.Constructor.newInstance(Unknown Source)
 at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
 at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
 at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at java.sql.DriverManager.getConnection(Unknown Source)
 at Main.main(Main.java:33)

出現上面問題無非是兩個問題

第一,就是你的數據庫的用戶名和密碼與java中的要連接的用戶名和密碼不一致

檢查你的數據庫的用戶名和密碼

就是要注意下面的 c = DriverManager.getConnection() 注意看下面的代碼就行了,你可以嘗試用下面的代碼進行嘗試

package jdbc;

  

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

  

public class TestJDBC {

    public static void main(String[] args) {

  

        try {

            Class.forName("com.mysql.jdbc.Driver");

  

            // 建立與數據庫的Connection連接

            // 這里需要提供:

            // 數據庫所處於的ip:127.0.0.1 (本機)

            // 數據庫的端口號: 3306 (mysql專用端口號)

            // 數據庫名稱 how2java

            // 編碼方式 UTF-8

            // 賬號 root

            // 密碼 admin

  

            Connection c = DriverManager

                    .getConnection(

                            "jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8",

                            "root", "admin");

  

            System.out.println("連接成功,獲取連接對象: " + c);

  

        } catch (ClassNotFoundException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        } catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

  

    }

}

第二個,就是最先開始注意的問題,就是加入jar包

這個jar包很重要,因為這是別人寫好的直接引用的,是完美的代碼,我們只用引用就可。

在項目里面新建一個folder命名為lib,把jar包拷到里面去;然后還要手動把jar包導入進入,這點很重要,我就是犯了這種錯誤。

還有就是還有最重要的一點就是要初始化驅動,檢查導包是否成功!!!

 

public class TestJDBC {

    public static void main(String[] args) {

           

        //初始化驅動

        try {

            //驅動類com.mysql.jdbc.Driver

            //就在 mysql-connector-java-5.0.8-bin.jar中

            //如果忘記了第一個步驟的導包,就會拋出ClassNotFoundException

            Class.forName("com.mysql.jdbc.Driver");

              

            System.out.println("數據庫驅動加載成功 !");

   

        } catch (ClassNotFoundException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

           

    }

}

 

 

 

 

如果上述內容還不是那么清楚,請借鑒如下

http://how2j.cn/k/jdbc/jdbc-statement/387.html#nowhere

里面有豐富的測試代碼,以及配套視頻

 


免責聲明!

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



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