###前提・実現したいこと
今現在、javaWebの講習でサブ講師をしております。
eclipseを使用して、MySQLとの連携を習得している段階です。
本日、受講者の一人が演習用のソースを組んでいて、実行させてみたところ、エラーメッセージのようなものが出てきましたが、実行は成功していました。
以下、エラー文です。
###発生している問題・エラーメッセージ
Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
###該当のソースコード
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SelectEmployee { /** * コマンドラインで指定したコードのレコードを データベースから抽出する * @param args 従業員コード */ public static void main(String[] args) { // URL・ユーザ名・パスワードの設定 String url = "jdbc:mysql://localhost:3306/sampledb"; String user = "*****"; String password = "*****"; System.out.println("===演習01 SelectEmployee.java 開始==="); // コマンドライン引数のチェック if (args.length != 1) { System.out.println("引数に従業員コードを指定してください。"); System.exit(1); } // データベースへの接続の取得、ステートメント取得、SQLステートメントの実行(参照系) try (Connection con = DriverManager.getConnection(url, user, password); Statement stmt = con.createStatement(); ResultSet res = stmt.executeQuery("SELECT * FROM employees WHERE code='" + args[0] + "'")){ // 結果の取得 while (res.next()) { System.out.println(" code: " + res.getString("code")); System.out.println(" name: " + res.getString("name")); System.out.println(" age: " + res.getInt("age")); } System.out.print("次のレコードを抽出しました。 "); // SQLに関する例外処理 } catch (SQLException e) { System.out.print("次のレコードを抽出できません。 "); } } }
###試したこと
以上のエラー文をネットで検索したところ、どれも英語で書かれていました。
解決策としては、url を "jdbc:mysql://localhost:3306/Peoples?autoReconnect=true&useSSL=false";にしろというものでした。
たしかにこれを追記したら、エラー文は消えたのですが、そこからどうもeclipseかMySQLの調子が悪くなり、実行が成功したり、失敗したりします。
挙げ句の果てには、参照していたテーブルの内容が消えてしまうという現象も起きました。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
あなたの回答
tips
プレビュー