Duplicata possible :
ClassNotFoundException com.mysql.jdbc.Driver
J'ai inclus le mysql-connector-java-5.1.16-bin.jar
dans ma bibliothèque Eclipse, ce code est basé sur des tutoriels que j'ai trouvés sur le web car je n'ai jamais utilisé MySQL en Java auparavant. Malheureusement, je ne vois pas où j'utilise la fonction mysql-connector-java-5.1.16-bin.jar
et la console affiche Could not find driver.
c'est-à-dire la ClassNotFoundException
est lancé. Voyez-vous le problème (probablement évident) que je ne vois pas ?
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.sql.Timestamp;
public class MysqlConnector {
private static MysqlConnector instance = null;
private static Connection conn = null;
private static String dbHost = "localhost";
private static String dbPort = "3306";
private static String database = "sample";
private static String dbUser = "root";
private static String dbPassword = "";
public MysqlConnector() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":"
+ dbPort + "/" + database + "?" + "user=" + dbUser + "&"
+ "password=" + dbPassword);
} catch (ClassNotFoundException e) {
System.out.println("Could not find driver."); //TODO LOGGER
} catch (SQLException e) {
System.out.println("Could not connect to database."); //TODO LOGGER
}
}
public static MysqlConnector getInstance()
{
if(instance == null)
instance = new MysqlConnector();
return instance;
}
public boolean validateApiKey(String apikey)
{
if(conn != null)
{
Statement query;
try {
query = conn.createStatement();
String sql = "SELECT startdate, expiration, active " + "FROM apikeys "
+ "WHERE apikey = '" + apikey +"'";
ResultSet result = query.executeQuery(sql);
if(result.getFetchSize()>0 && result.getInt("active")==1){
Date now = new Date();
Date startdate = result.getDate("startdate");
Date expirationdate = result.getDate("expiration");
if(now.before(expirationdate) && now.after(startdate)){
return true;
} else {
return false;
}
} else {
return true;
}
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
return false;
}
}