2014-04-24 3 views
0

저는 java에서 새로운 기능으로 간단한 인증 인터페이스를 만들려고합니다.java.sql.SQLException : jdbc : mysql : // localhost : 3306/tun_recrut에 적합한 드라이버가 없습니다.

DriverManager를 사용하여 간단한 쿼리를 실행하려고합니다. 문제가 무엇인지 이해해 주시겠습니까?

1/MyDBConnection.java

package com.esprit.tunRecrut.util; 

    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.SQLException; 
    import java.util.logging.Level; 
    import java.util.logging.Logger; 


     public class MyDBConnection { 

      /** 
      * Déclaration des variables pour la connexion 
      */ 
      private String url = "jdbc:mysql://localhost:3306/tun_recrut"; 
      private String login = "root"; 
      private String pwd = ""; 
      private static MyDBConnection instance; 
      public static Connection connection; 

      private MyDBConnection() { 
       try { 
        connection = DriverManager.getConnection(url,login,pwd); 

       } catch (SQLException ex) { 
        Logger.getLogger(MyDBConnection.class.getName()).log(Level.SEVERE, null, ex); 
       } 
      } 

      public static Connection getConnection() { 
       return connection; 
      } 

      public static MyDBConnection getInstance() { 
       if(instance==null) 
        instance = new MyDBConnection(); 
       return instance; 
      } 


     } 

2/Crud.java 내 userDao.java에서

package com.esprit.tunRecrut.util; 

import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.logging.Level; 
import java.util.logging.Logger; 


public class Crud { 

    MyDBConnection mc = MyDBConnection.getInstance(); 

    public boolean execute(String sql){ 
     try { 
      Statement statement = mc.getConnection().createStatement(); 
      statement.executeUpdate(sql); 
      return true; 
     } catch (SQLException ex) { 
      Logger.getLogger(Crud.class.getName()).log(Level.SEVERE, null, ex); 
      return false; 
     } 
    } 

    public ResultSet exeRead(String sql){ 
     try { 
      Statement statement = mc.getConnection().createStatement(); 
      ResultSet rs; 
      rs = statement.executeQuery(sql); 
      return rs; 
     } catch (SQLException ex) { 
      Logger.getLogger(Crud.class.getName()).log(Level.SEVERE, null, ex); 
      return null; 
     } 

    } 


} 

public User findUserByEmailAndPassword(String email, String password) { 


    User user=null; 
    try { 
     String sql = "SELECT * FROM user WHERE email_address = '" + email + "' AND password = '" + password + "'"; 
     ResultSet rs = crud.exeRead(sql); 
     while (rs.next()) { 

      user = new User(rs.getInt("id"), rs.getString("type"), rs.getString("email_address")); 

     } 
     return user; 

    } catch (SQLException ex) { 
     Logger.getLogger("Client controller").log(Level.SEVERE, " fail"); 
     // Logger.getLogger("Client DAO").log(Level.SEVERE, null, ex); 
     return null; 
    } 
} 
+3

프로젝트에서 JDBC 항아리를 포함나요 찾을 수 있습니다? – jahroy

+0

도움을 주셔서 고맙습니다. netbeans가 자동으로 가져온 것 같아서 가져 오는 것을 잊어 버렸습니다. –

+0

[MySQL과의 Java 연결 가능성] (http://stackoverflow.com/questions/2839321/java-connectivity-with) -mysql) –

답변

5

당신은 아마 누락 MySQL의 커넥터 - 자바 - 클래스 경로의 xxxjar

+0

도움을 주셔서 대단히 감사합니다. netbeans가 자동으로 가져온 것으로 생각하기 때문에 가져 오는 것을 잊어 버렸습니다. –

+0

시간이 지났는데도 다시 응답 된 질문에 대답하는 대신 간단히 투표를 닫고 떠나는 것으로 생각하십시오 그걸로. –

0

Java에서 'MySql'을 사용하려면 MySql 웹 사이트에서 'JConnector'를 다운로드해야합니다. 그 후에 'Classpath'를 설정해야합니다. 다음 명령을 사용할 수 있습니다.

set CLASSPATH="PathtOfMySqlConnector.jar" 

또는 Java의 bin 경로를 설정하는 것처럼 설정할 수 있습니다. 도움이 되길 바랍니다.

0

다운로드 here에서 MySQL의 커넥터와이 애플리케이션 클래스 패스
에 추가 아마 당신은이 this tutorial

관련 문제