2016-04-11 6 views
0

Так что я пытаюсь подключить свой Java-код к mysql, и когда я запускаю код ниже, ничего не распечатывает даже ошибку. Я следую руководству YouTube и понимаю все, кроме случаев, когда он получает «jdbc: mysql:» from. Любая помощь будет потрясающей.Подключение 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

Подождите ... вы действительно называете строку 'Connection'? Это имя класса JDBC. Это должно приводить к тому, что все происходит не так. Ваш код даже _compile_? –

+0

Перед подключением необходимо зарегистрировать класс драйвера. – 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 может найти определение класса драйвера.

Там какой-то хороший пример код в MySQL Connector/J documentation.

Что же касается jdbc:mysql: части DSN (имя источника данных), это стандартный синтаксиса, который говорит менеджер драйверов и базы данных, что они открывающие соединение JDBC в базу данных MySQL. Это будет объяснено в Oracle Java documentation.

И Тим имеет хороший смысл в ваших именах переменных. Не указывайте переменную с тем же именем, что и класс. Даже если это не смущает компилятор, это смущает черт из программы-программиста (вас) примерно через неделю.

+0

Ваша информация устарела почти на десять лет. – EJP

0

Чтобы подключить Java-приложение к базе данных mysqlmysqlconnector.jar файл должен быть загружен.

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

Приведенный выше код использует некоторую таблицу базы данных, вы должны изменить их в соответствии с вашими учетными данными базы данных, именем базы данных, таблицами и т. Д. Я тестировал это на своей машине, он отлично работает. –

Смежные вопросы