sql >> データベース >  >> RDS >> Mysql

JARアップグレード後にシンボルPreparedStatementが見つかりません

    com.mysql.jdbc.PreparedStatement MySQL5.xJDBCドライバーの内部クラスです。あなたのコードはそれをインポートすべきではありません。標準のjava.sql.PreparedStatementを使用する必要があります 代わりにクラス。

    MySQL 8.x JDBCドライバーでパッケージ名が変更されたため、コードでコンパイルエラーが発生し始めました。

    解決策:

    1. MySQL実装クラスをインポートしないようにコードを修正します。 java.sql.*を使用します およびjavax.sql.* 代わりにクラス。

    2. MySQLドライバーJARがコンパイル時の依存関係にならないように、プロジェクトの依存関係を変更します。これを行うと、偶発的が発生します コンパイルエラーとしてフラグが立てられるJDBCドライバーへのソースコードの依存関係。また、IDEがimportに対して誤った提案をするのを防ぎます。 ステートメント。 (私の推測では、それが偽のインポートがコードベースに取り込まれた方法です。)

    3. コードが(まだ)Class.forNameを使用している場合 JDBCドライバーをロードするには、java.sql.DriverManagerを使用するように変更します。 代わりは; javadoc を参照してください。 。そうすれば、MySQLドライバークラス名の別の変更によって火傷することはありません。



    1. mysql_fetch_arraywhileループ。それはどのように機能しますか?

    2. PostgreSQL/NodeJSを使用して結果の配列としてJOINテーブルを取得します

    3. テーブル内のテーブルをクエリするにはどうすればよいですか?

    4. JavaによってOracleにログインしているユーザーをロックする