Connexion à BDD mysql en java
amine_marc
Messages postés
286
Statut
Membre
-
amine_marc Messages postés 286 Statut Membre -
amine_marc Messages postés 286 Statut Membre -
Bonjour,
je suis débutant en java, je veux se connecter à une base de données mysql à l'aide d'un code java (ci-dessous), mais le compilateur (Eclipse) signal un erreur dans la ligne " Class.forName("com.mysql.jdbc.Driver"); "
import java.sql.*;
import javax.sql.*;
public class Test {
public static void main(String[] args) {
String dbtime;
String dbUrl = "jdbc:mysql://localhost/ma_bdd";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM client";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
}
con.close();
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
}
j'ai lu un tutoriel qui demande de mettre le le pilote dans le CLASPATH du projet, voila le son contenu :
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Le pilote que j'ai télécharger est nommé "mysql-connector-java-5.1.2" sachant que j'ai la version mysql "5.1.54".
Veulliez m'aider à résoudre ce problème et merci d'avance ^^
je suis débutant en java, je veux se connecter à une base de données mysql à l'aide d'un code java (ci-dessous), mais le compilateur (Eclipse) signal un erreur dans la ligne " Class.forName("com.mysql.jdbc.Driver"); "
import java.sql.*;
import javax.sql.*;
public class Test {
public static void main(String[] args) {
String dbtime;
String dbUrl = "jdbc:mysql://localhost/ma_bdd";
String dbClass = "com.mysql.jdbc.Driver";
String query = "Select * FROM client";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection (dbUrl);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
dbtime = rs.getString(1);
System.out.println(dbtime);
}
con.close();
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
}
j'ai lu un tutoriel qui demande de mettre le le pilote dans le CLASPATH du projet, voila le son contenu :
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Le pilote que j'ai télécharger est nommé "mysql-connector-java-5.1.2" sachant que j'ai la version mysql "5.1.54".
Veulliez m'aider à résoudre ce problème et merci d'avance ^^
A voir également:
- Connexion à BDD mysql en java
- Gmail connexion - Guide
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
2 réponses
le compilateur (Eclipse) signal un erreur dans la ligne Class.forName("com.mysql.jdbc.Driver");
Attention, à ne pas tout mélanger, Eclipse n'est pas un compilateur, et l'erreur que tu as n'es pas non plus une erreur de compilation, car ce code compile très bien.
En revanche tu peux avoir des erreurs d'exécution, mais il faudrait que tu nous indique lesquelles, on ne va pas les deviner... Tu peux aussi regarder dans la documentation les explications des erreurs et exceptions attendues :
LinkageError - if the linkage fails
ExceptionInInitializerError - if the initialization provoked by this method fails
ClassNotFoundException- if the class cannot be located
Enfin, tu peux regarder la FAQ JDBC...
PS. Vu que tu as trouvé le bouton <gras>, regarde ceux d'à côté, il y a <code> aussi, ce sera bien mieux pour conserver l'indentation de ton code !
Attention, à ne pas tout mélanger, Eclipse n'est pas un compilateur, et l'erreur que tu as n'es pas non plus une erreur de compilation, car ce code compile très bien.
En revanche tu peux avoir des erreurs d'exécution, mais il faudrait que tu nous indique lesquelles, on ne va pas les deviner... Tu peux aussi regarder dans la documentation les explications des erreurs et exceptions attendues :
LinkageError - if the linkage fails
ExceptionInInitializerError - if the initialization provoked by this method fails
ClassNotFoundException- if the class cannot be located
Enfin, tu peux regarder la FAQ JDBC...
PS. Vu que tu as trouvé le bouton <gras>, regarde ceux d'à côté, il y a <code> aussi, ce sera bien mieux pour conserver l'indentation de ton code !
tout ce qui manque c'est de télécharger le driver mysql pour java et l'ajouter à votre projet
veuillez consulter se tutoriel
http://jihedgeek.blogspot.com/2013/01/connection-mysql-en-java-via-un-driver.html
bon courage
veuillez consulter se tutoriel
http://jihedgeek.blogspot.com/2013/01/connection-mysql-en-java-via-un-driver.html
bon courage
Merci tout d'abord pour toutes ces clarifications, je les prends en considération.
Mais reste un pb :/ J'ai cherché même dans FAQ JDBC, dommage, il n'est pas signalé comment intégrer (ou déclarer) le pilote mysql dans CLASPATH , est-ce que vs pouvez me dire comment faire ça SVP, car je suis bloqué :/
2) Tu ne développe pas avec les dernières versions, tu devrais penser à te mettre à jour avec :
a) Java SE 1.7.11
b) Eclipse 4.2
c) mysql-connector-java-5.1.22
3) Modifier le .classpath à la main est déconseillé, tu peux tout faire depuis l'interface.
Project > Properties > Java Build Path > Add External JARs > mysql-connector-java-5.1.22-bin.jar
Actuellement tu travailles sur Java 6, alors ne sais pas trop quelle version d'Eclipse tu as, mais si tu as une trop ancienne version il ne supportera pas Java 7, dans ce cas il faudra aussi mettre à jour Eclipse (d'un point de vue général, tous les logiciels qui accèdent à internet devraient être à jour pour éviter qu'ils ne soient vulnérables à des attaques extérieures)