JDBCドライバが読み込めない?
Cloud9上で、JavaのコードからMySQLへの接続を試みている中以下のエラーが発生しました。
クラスパスの問題とは思うのですが、調べてもeclipse上での修正方法しか出てきません。
分かる方いましたら、よろしくお願いいたします。
発生している問題・エラーメッセージ
ドライバを読み込めませんでした java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
該当のソースコード
Java
1import java.sql.Connection; 2import java.sql.DriverManager; 3import java.sql.ResultSet; 4import java.sql.SQLException; 5import java.sql.Statement; 6 7/** 8* localhost上のデータベースと接続し、取得したデータをコンソール出力する。 9*/ 10public class Test { 11 12 public static void main( String args[] ) throws Exception { 13 14 /*接続先サーバー名を"localhost"で与えることを示している*/ 15 String servername = "localhost"; 16 17 /*接続するデータベース名をTASK_DBとしている*/ 18 String databasename = "TASK_DB"; 19 20 /*データベースの接続に用いるユーザ名をrootユーザとしている*/ 21 String user = "root"; 22 23 /*データベースの接続に用いるユーザのパスワードを指定している*/ 24 String password = ""; 25 26 /*取り扱う文字コードをUTF-8文字としている*/ 27 String serverencoding = "UTF-8"; 28 29 /*データベースをあらわすURLを設定している*/ 30 String url = "jdbc:mysql://localhost/" + databasename; 31 32 /*MySQLの場合、URLの形式は次のようになります。 33 jdbc:mysql://(サーバ名)/(データベース名)*/ 34 35 /*↑データベースをあらわすURL(データベースURL)は、データベースに接続する場合に 36 必要となる情報をセットした文字列である。 37 この文字列の構造は、"jdbc"、サブプロトコル、サブネームの3つの部分から構成される。*/ 38 39 /*接続を表すConnectionオブジェクトを初期化*/ 40 Connection con = null; 41 42 try{ 43 44 /*クラスローダによりJDBCドライバを読み込んでいることを示している。 45 引数は、データベースにアクセスするためのJDBCドライバのクラス名である。*/ 46 Class.forName( "com.mysql.jdbc.Driver" ).newInstance(); 47 48 /*DriverManagerクラスのgetConnectionメソッドを使ってデータベースに接続する。*/ 49 con = DriverManager.getConnection( url, user, password ); 50 51 System.out.println( "Connected...." ); 52 53 /*データベースの接続後に、sql文をデータベースに直接渡すのではなく、 54 sqlコンテナの役割を果たすオブジェクトに渡すためのStatementオブジェクトを作成する。*/ 55 Statement st = con.createStatement(); 56 57 /*SQL文を作成する*/ 58 String sqlStr = "SELECT * FROM T_USER"; 59 60 /*SQL文を実行した結果セットをResultSetオブジェクトに格納している*/ 61 ResultSet result = st.executeQuery( sqlStr ); 62 63 /*クエリ結果を1レコードずつ出力していく*/ 64 while( result.next() ) 65 { 66 /*getString()メソッドは、引数に指定されたフィールド名(列)の値をStringとして取得する*/ 67 String str1 = result.getString( "USER_ID" ); 68 String str2 = result.getString( "USER_NM" ); 69 System.out.println( str1 + ", " + str2); 70 } 71 72 /*ResultSetオブジェクトを閉じる*/ 73 result.close(); 74 75 /*Statementオブジェクトを閉じる*/ 76 st.close(); 77 78 /*Connectionオブジェクトを閉じる*/ 79 con.close(); 80 } 81 catch( SQLException e ){ 82 83 /*エラーメッセージ出力*/ 84 System.out.println( "Connection Failed. : " + e.toString() ); 85 86 /*例外を投げちゃうぞ*/ 87 throw new Exception(); 88 89 }catch (ClassNotFoundException e){ 90 91 /*エラーメッセージ出力*/ 92 System.out.println("ドライバを読み込めませんでした " + e); 93 } 94 finally{ 95 try{ 96 if( con != null ){ 97 con.close(); 98 } 99 } 100 catch(Exception e){ 101 102 /*エラーメッセージ出力*/ 103 System.out.println( "Exception2! :" + e.toString() ); 104 105 /*例外を投げちゃうぞ*/ 106 throw new Exception(); 107 } 108 } 109 } 110}
補足情報(FW/ツールのバージョンなど)
JDK1.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。