Maison > base de données > tutoriel mysql > Pourquoi est-ce que je reçois une erreur « ClassNotFoundException : com.mysql.jdbc.Driver » lors de la connexion à ma base de données MySQL à l'aide de JDBC ?

Pourquoi est-ce que je reçois une erreur « ClassNotFoundException : com.mysql.jdbc.Driver » lors de la connexion à ma base de données MySQL à l'aide de JDBC ?

Mary-Kate Olsen
Libérer: 2024-11-02 20:17:30
original
936 Les gens l'ont consulté

Why am I getting a

Erreur d'exécution Java : ClassNotFoundException : com.mysql.jdbc.Driver

Description du problème :

Une application Java utilisant JDBC pour se connecter à une base de données MySQL rencontre une « ClassNotFoundException » lors de la tentative d'instancier le pilote MySQL JDBC.

Causes possibles :

  1. Bibliothèque de pilotes JDBC manquante : La classe com.mysql.jdbc.Driver est absente du chemin d'accès aux classes d'exécution de l'application.

Solution :

  1. Ajouter le pilote JDBC au chemin de classe : Ajoutez le fichier JAR du pilote MySQL JDBC (par exemple, mysql-connector-java-5.1.25-bin.jar) au chemin de classe de l'application. Cela peut être fait lors de l'exécution de l'application à l'aide du paramètre "-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

Exemple de code :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal