Java が MySQL データベースに接続し、ClassNotFoundException 例外処理を報告します。

 1. MySQL バージョンを確認します。

2. MySQL 公式 Web サイトにアクセスして、MySQL ドライバー パッケージをダウンロードします。 公式 Web サイト: https://dev.mysql.com/downloads/j/

 

 3. Java 言語に対応するダウンロード アドレスを見つけます。

 

 4. 圧縮パッケージをダウンロードします。

5. 圧縮パッケージを解凍し、ドライバー パッケージをコピーします。

 6. lib フォルダーを見つけます。

 7. jar パッケージをライブラリに追加します

 ライブラリとして追加の詳細な説明:

IntelliJ IDEA (以下、IDEA) では、「ライブラリとして追加」とは、外部依存ライブラリまたは JAR ファイルをライブラリとして使用するためにプロジェクトに追加することを意味します。JAR ファイルまたは依存ライブラリをライブラリとして追加すると、コード内でライブラリを参照し、そのクラス、メソッド、およびその他の関数を使用できるようになります。

JAR ファイルまたは依存ライブラリをライブラリとして追加するには、主に 2 つの方法があります。

1. Maven/Gradle を介して依存関係を追加する: プロジェクトで依存関係管理に Maven または Gradle を使用している場合は、Maven または Gradle 構成ファイル (pom.xml や build.gradle など) を編集して、関連する依存関係構成を追加できます。IDEA は、設定に従って対応する JAR ファイルを自動的にダウンロードし、ライブラリとして追加します。

2. JAR ファイルを手動で追加します。JAR ファイルまたは依存ライブラリを手動で所有している場合は、次の手順に従ってそれをライブラリとして追加できます。

   - IDEA でプロジェクトを開きます。
   - プロジェクトの図面ビューで、「libs」(または JAR ファイルを配置するディレクトリ) を右クリックし、「ライブラリとして追加」(または「新規」 > 「ディレクトリ」) を選択し、「ライブラリ」を選択します。 」。
   - ポップアップダイアログボックスで「Java」を選択し、「次へ」をクリックします。
   - 新しいダイアログ ボックスで、「+」ボタンをクリックして追加する JAR ファイルを選択し、「OK」をクリックします。
   - 選択を確認して「OK」をクリックすると、JAR ファイルがライブラリとして追加されます。

JAR ファイルをライブラリとして追加すると、これらのライブラリで提供されるクラスとメソッドをプロジェクトで使用できるようになります。同時に、IDEA は、これらのライブラリを使用したコードの開発とデバッグを容易にする、対応するコード プロンプト、ナビゲーション、およびデバッグ機能も提供します。

具体的な操作はIDEAのバージョンやプロジェクトの種類によって異なる場合があることに注意してください。上記内容は大まかな操作手順ですが、具体的な操作は若干異なる場合があります。特定の状況に遭遇した場合のより正確なガイダンスについては、IDEA の公式ドキュメントまたは関連チュートリアルを参照することをお勧めします。

8. エラーレポートの詳細:

理解: ClassNotFoundException、クラスが見つからないことを示します この時点で、jar パッケージが正しく導入されているかどうかを確認する必要があります。

 プロジェクトモジュールに導入されているかどうかを確認してください

 ライブラリに追加

 

 追加後、「適用」をクリックします

 もう一度やり直してください:

 MySQL に接続するための Java コード

import java.sql.*;

/*
MySQL 8.0 以上版本的数据库连接有所不同:
1、MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.0.16.jar。

2、com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver。
MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。
allowPublicKeyRetrieval=true 允许客户端从服务器获取公钥。

连接数据库的步骤分为四步
1 注册驱动-加载Driver
2 获取连接-得到Connection
3 执行增删改查-发送Sql语句,数据库执行
4 释放资源(关闭顺序不能调换,否则会报错!)
resultSet.close();
preparedStatement.close();
connection.close();
System.out.println("6.关闭数据库资源成功!");

 */
public class MysqlConnect {

    // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
    // static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    // static final String DB_URL = "jdbc:mysql://localhost:3306/class02";

    // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://localhost:3306/class02";


    // 数据库的用户名与密码
    static final String USER = "root";
    static final String PASS = "123456";

    public static void main(String[] args) {
        // 定义连接对象
        Connection conn = null;
        Statement stmt = null;
        try {
            // 1、注册驱动-加载Driver
            Class.forName(JDBC_DRIVER);

            // 2、获取连接-得到Connection
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL, USER, PASS);

            // 3、执行增删改查-发送sql语句,数据库执行
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT id, name, url FROM websites";
            ResultSet rs = stmt.executeQuery(sql);

            // 展开结果集数据库
            while (rs.next()) {
                // 通过字段检索
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String url = rs.getString("url");

                // 输出数据
                System.out.print("ID: " + id);
                System.out.print(", 站点名称: " + name);
                System.out.print(", 站点 URL: " + url);
                System.out.print("\n");
            }
            // 4、释放资源(关闭顺序不能调换,否则会报错)
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            // 处理 JDBC 错误
            se.printStackTrace();
        } catch (Exception e) {
            // 处理 Class.forName 错误
            e.printStackTrace();
        }
        System.out.println("Goodbye!");
    }
}

 もう一度やり直してください:

 

 

おすすめ

転載: blog.csdn.net/qq_57492774/article/details/131881931