eclipseでmy sqlで接続が出来ません
接続は出来るかもしれませんが、値をJavaで出力が出来ません
いろんな記事で調べチェックをしましたが、解決が出来ないの、お手数かけますが
他に設定が必要な箇所がありましたらご教示いただけないでしょうか
よろしくお願いいたします。
OS:MAC
実行した処理
①ターミナルでHomebrewでmy SQLをインストール
②ターミナルでmysql.server startでSUCCESS!確認
③ターミナルでパスワード設定済み
④eclipseの対象プロジェクトに、mysql・・・.jarファイルのjarファイル(ビルドパス)追加済み
libディレクトリにも、配置済み
file名:mysql-connector-java-8.0.23jar
⑤DBViewerPluginでデーターベース登録済み、テスト接続も成功
⑥気になる点として、列名が赤で×マーク
⑥SELECT NAME,AGE,ID FROM EMPLOYEEでSQLに登録されている値を確認
⑦Test.java file実行(例外、エラーは発生していません)
name取得は失敗
【コンソール】
SQL実行結果成功
実行結果取得
終了
⑧Driverはcom.mysql.jdbc.Driverで実行すると
下記のエラーが発生しますので、cjの方で試しています。
oading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
⑨Driverにタイムゾーンを!つけてみましたが、失敗しました。
jdbc:mysql://localhost:3306/mysql?characterEncoding=UTF-8&serverTimezone=JST
⑩?characterEncoding=UTF8 の追加のみで失敗
また、MySQL8.x向けのJDBCドライバーも入れ直しみましたが失敗
JAVA
1 2package dao; 3import java.sql.Connection; 4import java.sql.DriverManager; 5import java.sql.PreparedStatement; 6import java.sql.ResultSet; 7import java.sql.SQLException; 8 9 10public class Test { 11 12 public static void main(String[] args) { 13 14 // 変数の準備 15 Connection con = null; 16 PreparedStatement stmt = null; 17 ResultSet rs = null; 18 19 // SQL文の作成 20 String sql = "SELECT NAME FROM EMPLOYEE"; 21 22 23 try { 24 // JDBCドライバのロード 25 Class.forName("com.mysql.cj.jdbc.Driver"); 26 // データベース接続 27 28 con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", "fdg*******"); 29 // SQL実行準備 30 stmt = con.prepareStatement(sql); 31 32 System.out.println("SQL実行結果成功"); 33 // 実行結果取得 34 rs = stmt.executeQuery(); 35 System.out.println("実行結果取得"); 36 while (rs.next()) { 37 String name = rs.getString("NAME"); 38 System.out.println("name取得"); 39 40 System.out.println(name); 41 } 42 } catch (ClassNotFoundException e) { 43 System.out.println("JDBCドライバのロードでエラーが発生しました"); 44 } catch (SQLException e) { 45 46 System.out.println("データベースへのアクセスでエラーが発生しました。"); 47 } finally { 48 try { 49 if (con != null) { 50 System.out.println("終了"); 51 52 con.close(); 53 } 54 } catch (SQLException e) { 55 System.out.println("データベースへのアクセスでエラーが発生しました。"); 56 } 57 } 58 } 59 60}
回答1件
あなたの回答
tips
プレビュー