LoginSignup
0
0

More than 5 years have passed since last update.

cloud9 でJavaのMySQLドライバをサーバーにインストールする方法を知りたいです

Posted at

以下処理を実行すると、
ClassNotFoundExceptionでキャッチされ、以下メッセージが表示されます。
「クラスファイルがなかったためエラーが発生しています java.lang.ClassNotFoundException: com.mysql.jdbc.Drive」

調べたところJavaのMySQLドライバをサーバーにインストールする必要があるみたいなのですが、
Cloud 9でどのように行えばいいのかわかりません。。。

手順を教えて頂けませんでしょうか。

Main.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Main{
    public static void main(String[] args){

     /*接続先サーバー名を"localhost"で与えることを示している*/
        String servername     = "localhost";

        /*接続するデータベース名をMotherとしている*/
        String databasename   = "Mother";

        /*データベースの接続に用いるユーザ名をrootユーザとしている*/
        String user = "root";

        /*データベースの接続に用いるユーザのパスワードを指定している*/
        String password = "";

        /*取り扱う文字コードをUTF-8文字としている*/
        String serverencoding = "UTF-8";

        /*データベースをあらわすURLを設定している*/
        String url =  "jdbc:mysql://localhost/" + databasename;

        /*MySQLの場合、URLの形式は次のようになります。
          jdbc:mysql://(サーバ名)/(データベース名)*/

        /*↑データベースをあらわすURL(データベースURL)は、データベースに接続する場合に
        必要となる情報をセットした文字列である。
        この文字列の構造は、"jdbc"、サブプロトコル、サブネームの3つの部分から構成される。*/
        /*接続を表すConnectionオブジェクトを初期化*/
        Connection con = null;

        try{
            /*クラスローダによりJDBCドライバを読み込んでいることを示している。
            引数は、データベースにアクセスするためのJDBCドライバのクラス名である。*/
            Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
            /*DriverManagerクラスのgetConnectionメソッドを使ってデータベースに接続する。*/
            con = DriverManager.getConnection( url, user, password );

            System.out.println( "Connected...." );

            /*データベースの接続後に、sql文をデータベースに直接渡すのではなく、
            sqlコンテナの役割を果たすオブジェクトに渡すためのStatementオブジェクトを作成する。*/
            Statement st = con.createStatement();

            /*SQL文を作成する*/
            String sqlStr = "SELECT * FROM M_ACCOUNT";

            /*SQL文を実行した結果セットをResultSetオブジェクトに格納している*/
            ResultSet result = st.executeQuery( sqlStr );

            /*クエリ結果を1レコードずつ出力していく*/
            while( result.next() )
            {
                /*getString()メソッドは、引数に指定されたフィールド名()の値をStringとして取得する*/
                String str1 = result.getString( "account_id" );
                String str2 = result.getString( "account_name" );
                String str3 = result.getString( "account_start_datetime" );
                String str4 = result.getString( "account_end_datetime" );
                System.out.println( str1 + ", " + str2 + ", " + str3 + "," + str4);
            }

            /*ResultSetオブジェクトを閉じる*/
            result.close();

            /*Statementオブジェクトを閉じる*/
            st.close();

            /*Connectionオブジェクトを閉じる*/
            con.close();


         }
        catch( SQLException e ){

            /*エラーメッセージ出力*/
            System.out.println( "Connection Failed. : " + e.toString() );

        }catch (ClassNotFoundException e){

            /*エラーメッセージ出力*/
            System.out.println("クラスファイルがなかったためエラーが発生しています " + e);

        }catch (Exception e){

            /*エラーメッセージ出力*/
            System.out.println("予期せぬエラーが発生しています " + e);
        }
        finally{
            try{
                if( con != null ){ 
                    con.close();
                }
            }
            catch(Exception e){

                /*エラーメッセージ出力*/
                System.out.println( "Exception2! :" + e.toString() );

            }

        }
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0