Rumah > pangkalan data > tutorial mysql > Mengapakah saya mendapat ralat \'ClassNotFoundException: com.mysql.jdbc.Driver\' semasa menyambung ke pangkalan data MySQL saya menggunakan JDBC?

Mengapakah saya mendapat ralat \'ClassNotFoundException: com.mysql.jdbc.Driver\' semasa menyambung ke pangkalan data MySQL saya menggunakan JDBC?

Mary-Kate Olsen
Lepaskan: 2024-11-02 20:17:30
asal
926 orang telah melayarinya

Why am I getting a

Ralat Masa Jalan Java: ClassNotFoundException: com.mysql.jdbc.Driver

Penerangan Masalah:

Aplikasi Java menggunakan JDBC untuk menyambung ke pangkalan data MySQL menemui "ClassNotFoundException" apabila cuba membuat instantiate pemacu MySQL JDBC.

Punca Kemungkinan:

  1. Pustaka Pemacu JDBC Tiada: Kelas com.mysql.jdbc.Driver tiada daripada laluan kelas masa jalan aplikasi.

Penyelesaian:

  1. Tambahkan Pemacu JDBC pada Classpath: Tambahkan fail JAR pemacu JDBC MySQL (cth., mysql-connector-java-5.1.25-bin.jar) pada laluan kelas aplikasi. Ini boleh dilakukan apabila menjalankan aplikasi menggunakan parameter "-cp":

    • Windows: java -cp .;mysql-connector-java-5.1.25-bin.jar ClientBase
    • Linux/Mac: java -cp .:mysql-connector-java-5.1.25-bin.jar ClientBase

Contoh Kod:

<code class="java">// import packages
import java.sql.*;

// create class ClientBase
public class ClientBase {
    // JDBC driver name and database URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";

    // Database credentials
    static final String USER = "root";
    static final String PASS = "";

    // Begin method main
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;

        try {
            // Register JDBC driver
            Class.forName(JDBC_DRIVER); // Add this line if the driver is not found

            // Open connection
            System.out.println("Connecting to database...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);

            // Execute a query
            System.out.println("Creating statement...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name, address, address 2, city, phone, state, zip, fax FROM CLIENTBASE";
            ResultSet rs = stmt.executeQuery(sql);

            // Extract data from result set
            while (rs.next()) {
                // Retrieve by column name
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String address = rs.getString("address");
                String address2 = rs.getString("address2");
                String city = rs.getString("city");
                String phone = rs.getString("phone");
                String state = rs.getString("state");
                String zip = rs.getString("zip");
                String fax = rs.getString("fax");

                // Display values
                System.out.print("ID: " + id);
                System.out.print(" Name: " + name);
                System.out.println("Address:" + address);
                System.out.println(address2);
                System.out.print("City:" + city);
                System.out.print(" State: " + state);
                System.out.println(" Zip: " + zip);
                System.out.print("Phone: " + phone);
                System.out.println(" Fax: " + fax);
            } // end while

            // clean up
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            // Handle errors for JDBC
            se.printStackTrace();
        } catch (Exception e) {
            // Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            // finally block used to close resources
            try {
                if (stmt != null)
                    stmt.close();
            } catch (SQLException se) {
                se.printStackTrace();
            } // end finally
        } // end try
        System.out.println("Goodbye.");
    } // End method main
} // end class ClientBase</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \'ClassNotFoundException: com.mysql.jdbc.Driver\' semasa menyambung ke pangkalan data MySQL saya menggunakan JDBC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan