2016-04-11 22 views
0

私は自分のjavaコードをmysqlに接続しようとしています。下のコードを実行すると、エラーも表示されません。私はYouTubeのチュートリアルに従っていて、どこから "jdbc:mysql:"を取得しているか以外はすべて理解しています。どんな助けでも素晴らしいことに感謝します。Javaをmysqlに接続するエラー

package ztestconnection; 

import java.sql.*; 

public class Test { 

static String Username = "Klongrich"; 
static String Password = "********"; 
static String Connection = "jdbc:mysql://localhost:8080/hospital"; 

public static void main(String [] args){ 

    Connection con = null; 

    try{ 
     con = DriverManager.getConnection(Connection, Username, Password); 
     System.out.println("Connected"); 
    } catch(Exception e){ 
     System.out.println(e); 
    } 

} 
+1

実際のデータベースパスワードをスタックオーバーフローに掲載しないでください。 –

+2

Wait ..あなたは本当に文字列 'Connection'を呼び出しましたか?これはJDBCクラスの名前です。これは不必要な事態を起こさせなければならない。あなたのコードも_compile_しましたか? –

+0

接続する前にDriverクラスを登録する必要があります。 – Rugal

答えて

-1

あなたは、接続を開くことができる前に、あなたがそうのように、特定のドライバクラスをロードする必要があります:

try 
{ 
    // The newInstance() call is a work around for some 
    // broken Java implementations 
    Class.forName("com.mysql.jdbc.Driver").newInstance(); 
} 
catch (Exception ex) 
{ 
    // handle the error 
} 

これはjava.sql.DriverManagerは、ドライバのクラス定義を見つけることができることを保証します。

DSN(データソース名)のjdbc:mysql:一部のために、それはドライバマネージャと、彼らはJDBC接続を開くしているデータベースを告げる標準構文だとして、いくつかの良い例のコードはMySQL Connector/J documentation.

にありますMySQLデータベースに転送します。それはOracle Java documentationで説明されます。

Timには、変数名についての良い点があります。変数にクラスと同じ名前を付けないでください。コンパイラを混乱させないとしても、メンテナンスプログラマー(あなた)は今から約1週間後に混乱してしまいます。

+0

あなたの情報は10年近く古いです。 – EJP

0

mysqlデータベースmysqlconnector.jarを使用してJavaアプリケーションを接続する必要があります。

1: - mysqlconnector.jarファイルをダウンロードします。 jre/lib/extフォルダーに移動し、ここにjarファイルを貼り付けます。

//STEP 1. Import required packages 
    import java.sql.*; 

    public class FirstExample { 
     // JDBC driver name and database URL 
     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
     static final String DB_URL = "jdbc:mysql://localhost/EMP"; 

     // Database credentials 
     static final String USER = "username"; 
     static final String PASS = "password"; 

     public static void main(String[] args) { 
     Connection conn = null; 
     Statement stmt = null; 
     try{ 
      //STEP 2: Register JDBC driver 
      Class.forName("com.mysql.jdbc.Driver"); 

      //STEP 3: Open a connection 
      System.out.println("Connecting to database..."); 
      conn = DriverManager.getConnection(DB_URL,USER,PASS); 

      //STEP 4: Execute a query 
      System.out.println("Creating statement..."); 
      stmt = conn.createStatement(); 
      String sql; 
      sql = "SELECT id, first, last, age FROM Employees"; 
      ResultSet rs = stmt.executeQuery(sql); 

      //STEP 5: Extract data from result set 
      while(rs.next()){ 
      //Retrieve by column name 
      int id = rs.getInt("id"); 
      int age = rs.getInt("age"); 
      String first = rs.getString("first"); 
      String last = rs.getString("last"); 

      //Display values 
      System.out.print("ID: " + id); 
      System.out.print(", Age: " + age); 
      System.out.print(", First: " + first); 
      System.out.println(", Last: " + last); 
      } 
      //STEP 6: Clean-up environment 
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     }catch(SQLException se){ 
      //Handle errors for JDBC 
      se.printStackTrace(); 
     }catch(Exception e){ 
      //Handle errors for Class.forName 
      e.printStackTrace(); 
     }finally{ 
      //finally block used to close resources 
      try{ 
      if(stmt!=null) 
       stmt.close(); 
      }catch(SQLException se2){ 
      }// nothing we can do 
      try{ 
      if(conn!=null) 
       conn.close(); 
      }catch(SQLException se){ 
      se.printStackTrace(); 
      }//end finally try 
     }//end try 
     System.out.println("Goodbye!"); 
    }//end main 
    }//end FirstExample 
+0

私は上記のコードに従っていますが、それはまだ実行し続けており、接続しようとしているか何かをプリントアウトすることはありません。 – user5890889

+0

データベース用に.jarファイルを配置しましたか?それは何を印刷していますか? –

+0

上記のコードでは、データベースのテーブルを使用しています。データベースの資格情報、DB名、テーブルなどに合わせて変更する必要があります。 私のマシンでこれをテストしましたが、正常に動作しています。 –