[Newbie] connection a MySQL

connection a MySQL [Newbie] - Java - Programmation

Marsh Posté le 31-08-2003 à 22:02:06    

Je cherche a comprendre comment me connecter a MySQL avec Java.
Mais je ne comprend rien a ce que me raconte sun.com.
Apparemment, il faut installer qqch, apparemment ca se recupere la: http://www.mysql.com/downloads/api-jdbc-stable.html d'apres un post precedent.
Mais apres, je ne sais pas ou ca s'installe, ce qu'i lfaut executer comme commande pour pouvoir se connecter effectivement, etc.
 
"Class.forName("sun.jdbc.odbc.JdbcOdbcDriver" );
 
Your driver documentation will give you the class name to use. For instance, if the class name is jdbc.DriverXYZ , you would load the driver with the following line of code:
 
Class.forName("jdbc.DriverXYZ" );
"
 
Mouais, la doc de mon driver que je ne sais aps ou mettre donc.
Bon, je suis a la masse, mais si en plus d'apprendre java, il faut installer des trucs et deviner ou s'installe quoi, c'est pas gagne pour moi... :cry:
 
Merci

Reply

Marsh Posté le 31-08-2003 à 22:02:06   

Reply

Marsh Posté le 31-08-2003 à 22:48:58    

Je pense que tu peux installer mySQL la ou tu veux (comme toutes les applications quoi...)
Ensuite, il faut un driver, je ne sais pas si il est inclus dans ce que tu as telecharge. Le driver s'appelle connectorJ, il est aussi sur la page de telechargements de mySQL. Il faut l'installer quelque part aussi. Il faut ensuite ajouter l'archive contenant les pilotes (un fichier jar issu de ce que tu viens de telecharger) dans ton classpath. Ne me demande pas quel fichier, je ne sais pas. Si t'as pas envie de chercher lequel c'est, met les tous (pas taper...).
Et ensuite, il faut trouver le nom du driver dans la doc, qui est peut etre fournie avec la driver.
 
Bonne chance
gtm

Reply

Marsh Posté le 31-08-2003 à 22:57:39    

1) récupérer le driver JDBC pour mysql là :  
http://www.mysql.com/downloads/dow [...] ick=mirror
tu décrompresse, c'est le jar à la racine.
 
2) mettre le jar dans ton classpath
 - si tu utilises un IDE c'est dans une des options de ton IDE
 - si tu fais ca à la main et que t'es sous win, ca se règle dans les propriétés windows :
sous win 9x :  
dans l'autoexec.bat : SET CLASSPATH=".;leCheminVersLesDriverJDBCJar"
sous win nt/2k:xp :  
démarrer/paramètres/panneau de config/system/avancé/variable d'environnement : tu créés une nouvelle variable d'environnement utilisateur : CLASSPATH et tu lui donnes la valeur ".;leCheminVersLesDriverJDBCJar"
 
3) dans ton prog java, chargé le driver :
        Class.forName("com.mysql.jdbc.Driver" );
 
4) tu fais ton brol.  
 
ex de prog qui affiche le contenu d'une table :

Code :
  1. import java.sql.*;
  2. public class TestJDBC {
  3. public static void main(String[] args) throws Exception {
  4.  // attention : dans cet exemple je me fais pas chier avec les exceptions  
  5.  Class.forName("com.mysql.jdbc.Driver" );
  6.  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/taBase", "root", "" );
  7.  Statement stat = conn.createStatement();
  8.  ResultSet res = stat.executeQuery("Select * from TaTable" );
  9.  ResultSetMetaData meta = res.getMetaData();
  10.  // 1ere ligne : affichage des noms des colones
  11.  System.out.print("|" );
  12.  for (int i = 0; i < meta.getColumnCount(); i ++) {
  13.   String colName = meta.getColumnLabel(i);
  14.   int colSize = meta.getColumnDisplaySize(i);
  15.   System.out.print(indentLeft(colName, colSize));
  16.   System.out.print("|" );
  17.  }
  18.  System.out.println();
  19.  // affichage des données
  20.  System.out.print("|" );
  21.  while (res.next()) {
  22.   for (int i = 0; i < meta.getColumnCount(); i ++) {
  23.    // récupère la valeur sous forme de chaine
  24.    String colValue = res.getString(i);
  25.    int colSize = meta.getColumnDisplaySize(i);
  26.    System.out.print(indentLeft(colValue, colSize));
  27.    System.out.print("|" );
  28.   }
  29.  }
  30.  System.out.println();
  31. }
  32. public static String indentLeft(String s, int space) {
  33.  StringBuffer buf = new StringBuffer(space);
  34.  for (int i = 0; i < space - s.length(); i++) {
  35.   buf.append(' ');
  36.  }
  37.  buf.append(s);
  38.  return buf.toString();
  39. }
  40. }


j'ai pas mysql => j'ai pas pu tester => c'est pas garantit à 100% que ca marche direct. Mais bon, en gros y a les principes, koi :o
 
PS : tu ferais bien de changer le titre du topic et de mettre [java] au début si tu veux que les concernés le voient


Message édité par benou le 31-08-2003 à 23:49:00

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-09-2003 à 09:22:45    

benou a écrit :

1) récupérer le driver JDBC pour mysql là :  
http://www.mysql.com/downloads/dow [...] ick=mirror
tu décrompresse, c'est le jar à la racine.
 
2) mettre le jar dans ton classpath
 - si tu utilises un IDE c'est dans une des options de ton IDE
 - si tu fais ca à la main et que t'es sous win, ca se règle dans les propriétés windows :
sous win 9x :  
dans l'autoexec.bat : SET CLASSPATH=".;leCheminVersLesDriverJDBCJar"
sous win nt/2k:xp :  
démarrer/paramètres/panneau de config/system/avancé/variable d'environnement : tu créés une nouvelle variable d'environnement utilisateur : CLASSPATH et tu lui donnes la valeur ".;leCheminVersLesDriverJDBCJar"
 
3) dans ton prog java, chargé le driver :
        Class.forName("com.mysql.jdbc.Driver" );
 
4) tu fais ton brol.  
 
ex de prog qui affiche le contenu d'une table :

Code :
  1. import java.sql.*;
  2. public class TestJDBC {
  3. public static void main(String[] args) throws Exception {
  4.  // attention : dans cet exemple je me fais pas chier avec les exceptions  
  5.  Class.forName("com.mysql.jdbc.Driver" );
  6.  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/taBase", "root", "" );
  7.  Statement stat = conn.createStatement();
  8.  ResultSet res = stat.executeQuery("Select * from TaTable" );
  9.  ResultSetMetaData meta = res.getMetaData();
  10.  // 1ere ligne : affichage des noms des colones
  11.  System.out.print("|" );
  12.  for (int i = 0; i < meta.getColumnCount(); i ++) {
  13.   String colName = meta.getColumnLabel(i);
  14.   int colSize = meta.getColumnDisplaySize(i);
  15.   System.out.print(indentLeft(colName, colSize));
  16.   System.out.print("|" );
  17.  }
  18.  System.out.println();
  19.  // affichage des données
  20.  System.out.print("|" );
  21.  while (res.next()) {
  22.   for (int i = 0; i < meta.getColumnCount(); i ++) {
  23.    // récupère la valeur sous forme de chaine
  24.    String colValue = res.getString(i);
  25.    int colSize = meta.getColumnDisplaySize(i);
  26.    System.out.print(indentLeft(colValue, colSize));
  27.    System.out.print("|" );
  28.   }
  29.  }
  30.  System.out.println();
  31. }
  32. public static String indentLeft(String s, int space) {
  33.  StringBuffer buf = new StringBuffer(space);
  34.  for (int i = 0; i < space - s.length(); i++) {
  35.   buf.append(' ');
  36.  }
  37.  buf.append(s);
  38.  return buf.toString();
  39. }
  40. }


j'ai pas mysql => j'ai pas pu tester => c'est pas garantit à 100% que ca marche direct. Mais bon, en gros y a les principes, koi :o
 
PS : tu ferais bien de changer le titre du topic et de mettre [java] au début si tu veux que les concernés le voient


 
OK, merci beaucoup, c'est deja plus clair.
Je vais essayer ca ce soir.
Apres, pour l'exemple pour se connecter en pratique, ca devrait aller, pour les queries, c'est juste du vocabulaire, il n'y aura pas de probleme, c'etait pour comprendre quoi installer et comment (genre pour moi le classpath, ca ne signifie rien, quand j'entend ca, ca me donne direct le regard bovin ;) )
La avec ton explication pas a pas, ca devrait aller mieux, merci.

Reply

Marsh Posté le 01-09-2003 à 09:36:19    

un de ces quatre quand j'aurais le temps je ferais un petit topo sur le classpath. On a des tas de topic où les gens bloquent là dessus :/


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-09-2003 à 15:25:37    

benou >> les bons point c'est pas illimité hein :D


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 01-09-2003 à 15:51:56    

the real moins moins a écrit :

benou >> les bons point c'est pas illimité hein :D


;)
 
nan mais sérieux, ca revient toujours comme problème. C'est lourd :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 01-09-2003 à 15:56:00    

benou a écrit :


;)
 
nan mais sérieux, ca revient toujours comme problème. C'est lourd :o

clair
on devrait faire un wiki, ça serait simple à faire :o
faut juste trouver où le hoster.
(php+mysql, pas de pubs, et plus rapide que free; bien que ça devrait aller, c'est pas phpMyGallery et ces 50 requetes par page non plus :o)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 01-09-2003 à 16:00:52    

[mode digression=ON]
hébergez-le sur WebDynamit
[mode digression=OFF]

Reply

Marsh Posté le 01-09-2003 à 16:02:48    

gizmo a écrit :

[mode digression=ON]
hébergez-le sur WebDynamit
[mode digression=OFF]

tu m'interesses là [:meganne]
excellent dis-donc, je connaissais pas
 
surtout ne pas trop en parler, sinon ça va partir en couilles  :wahoo:


Message édité par the real moins moins le 01-09-2003 à 16:04:29

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed