e-Babillard - plateforme pédagogique interactive

Ressources pédagogiques communes concernant... => JAVA => Sujet démarré par: jpdelx sur 09 Novembre 2007 à 07:29:28



Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 09 Novembre 2007 à 07:29:28
Bonjour

Vous devez travailler les BD sous JAVA.

Pour cela je compte utiliser un driver JDBC en parallèle avec le serveur MySQL
d'EasyPHP et l'interface phpMyAdmin.

(http://jpdelx.free.fr/warning.gif)Je vous conseille vivement d'installer sur votre plateforme personnelle le driver
correspondant : http://dev.mysql.com/downloads/connector/j/3.1.html et de le
tester sur quelques exemples.


Style :
Code:
/*
* Main.java
*
* Created on November 22, 2005, 3:30 PM
*
*/

package mysql;

import com.mysql.jdbc.ResultSet;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
* Exemple de travail avec une base de donnée mySql
*/
public class Main {

/** Creates a new instance of Main */
public Main() {
}

/**
* Main method
* @param args the command line arguments
*/
public static void main(String[] args) {
Main myMain = new Main();
myMain.go();
}

/**
* Execute le coeur de la classe:
* - connection à la base de donnée
* - execution d'une requête
* - libération propre des resultsets, statements, connections
*/
private void go() {

// Je n'ai pas réussi à installer easyphp au bureau,
// donc les params de connection ci dessous sont incomplets:
// il me manque le nom de la db ("databaseName" dans url)
// et je ne suis pas sur du tout du login. De mémoire le password est vide.
String url = "jdbc:mysql://localhost:3306/databaseName";
String login = "root";
String password = "";
String driverClassName = "com.mysql.jdbc.Driver";

Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;

try{
Driver driver = (Driver) Class.forName(driverClassName).newInstance();
DriverManager.registerDriver(driver);

connection = DriverManager.getConnection(url,login,password);

statement = connection.createStatement();
resultSet = (ResultSet) statement.executeQuery("SELECT * FROM TOTO");

while (resultSet.next()) {
// TODO faire quelque chose avec les resultats
// par exemple, si tu sais que la premier colonne renvoie
// une chaine de caractères tu peux faire:
String myResult = resultSet.getString(1);
}


} catch(ClassNotFoundException cnfe){
System.out.println("Driver introuvable : ");
cnfe.printStackTrace();
} catch(SQLException sqle){
System.out.println("Erreur SQL : ");
sqle.printStackTrace();
} catch(Exception e){
System.out.println("Autre erreur : ");
e.printStackTrace();
} finally {
if (resultSet!=null) {
try {
resultSet.close();
} catch(Exception e){
e.printStackTrace();
}
}
if (statement!=null) {
try {
statement.close();
} catch(Exception e){
e.printStackTrace();
}
}
if (connection!=null) {
try {
connection.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
}
}

Issu de : http://www.developpez.net/forums/archive/index.php/t-71067.html

Voir :

http://www-sop.inria.fr/semir/personnel/Patrick.Itey/cours/java-bd.html

http://java.developpez.com/faq/jdbc/

@lpf



Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 09 Novembre 2007 à 07:30:13
Bonjour

Voir aussi : http://jmvanel.free.fr/mysql-start.html
et http://www.developpez.net/forums/archive/index.php/t-38167.html

Un autre exemple :

Code:
//  BatchSQL.java

import java.sql.*;

public class BatchSQL {

  public static void main( String[] args)
        throws Exception {
    String[] noms = {"Toto", "Titi", "Tutu"};
    int[] results;

    // Utilisation du driver dB2
    Class.forName("???????????"); /* accès au Driver */
    Connection c =
        DriverManager.getConnection("????????"); /* accès à la BD */
    // Création du Statement
    Statement s = c.createStatement ();
    try {
      // Création de la table pour le test
      s.executeUpdate("CREATE TABLE NOMS (NOM CHAR (10))");
      } catch (SQLException e) {
        // Exception si la table a déjà été créée
      }


      // Boucle de création de requêtes de batch
      for (int i = 0; i < noms.length; i++)
      s.addBatch ("INSERT INTO NOMS VALUES('" + noms
              + "')");
      // Exécution du batch
      results = s.executeBatch ();
      // Verification du résultat:
      if ((results.length == 3)){ // 3 requêtes
        System.out.println("3 lignes: O.K. ");
      } else {
         System.out.println("Problème rencontré");
      }
      // Fermeture du statement
      s.close();

      // Même chose, mais avec un PreparedStatement
      PreparedStatement ps = c.prepareStatement(
          "INSERT INTO QGPL.A_TABLE VALUES (?)");
      for (int i = 0; i < noms.length; i++) {
         ps.setString(1, noms);
         ps.addBatch();
      }
      // Exécution du batch
      results = ps.executeBatch();
      // Verification du résultat:
      if ((results.length == 3)){ // 3 requêtes
        System.out.println("3 lignes: O.K. ");
      } else {
         System.out.println("Problème rencontré");
      }

      // Fermeture du statement et de la connexion
      ps.close();
      c.close();
   }
}

@lpf


Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 09 Novembre 2007 à 07:31:40
Bonjour
Citation de: D.Righetto sur 01 Décembre 2006 à 15:24:26
...
Pour JDBC il suffit juste d'avoir le JAR du driver de la BD dans le CLASSPATH, il faut simplement l'ajouter au CLASSPATH du projet sous Eclipse ou Netbeans et c'est réglé ;)
...


@lpf


Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 14 Novembre 2007 à 08:18:02
Bonjour

http://ftp.plusline.de/mysql/Downloads/Connector-J/

http://dev.mysql.com/doc/refman/5.0/en/connector-j.html

@lpf


Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 19 Novembre 2008 à 07:33:44
Bonjour


  • 2 drivers (http://jpdelx2006.free.fr/JAVA_connector.zip) ( Archive ZIP - 36 Mo )



@lpf


Voir ICI (http://jpdelx.free.fr/smf/index.php?topic=1981.msg18998#msg18998) pour les archives JAR utilisables directement !


Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 19 Novembre 2009 à 09:59:29
Bonjour

En résumé :


  • 1. vous devez être l'administrateur du système

  • 2. vous devez avoir copié les drivers ( JAR [ en savoir + (http://fr.wikipedia.org/wiki/JAR_%28format_de_fichier%29) ] ) dans un répertoire du JDK et l'indiquer dans les options de profil de JCreator

  • 3. EasyPHP doit être actif et vous devez utiliser le bon MdP pour l'utilisateur root ( cf. fichier config.inc.php [ en savoir + (http://wiki.phpmyadmin.net/pma/config.inc.php) ] )
    <br>(http://jpdelx2009.free.fr/easy_demarre.png)



@lpf

(http://jpdelx.free.fr/bas.gif)


Titre: [ JAVA ] Bases de Données
Posté par: jpdelx sur 23 Novembre 2009 à 14:41:42
Bonjour

Si vous rencontrez des problèmes lors de la création de la BD via JAVA/MySQL  :
http://www.java2s.com/Code/Java/Database-SQL-JDBC/CreateDatabaseforMySQL.htm

Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class CreateDatabase {
  public static void main(String[] args) {
    Connection connection = null;
    Statement statement = null;
    try {
      Class.forName("org.gjt.mm.mysql.Driver").newInstance();
      String url = "jdbc:mysql://localhost/mysql";
      connection = DriverManager.getConnection(url, "username", "password");

      statement = connection.createStatement();
      String hrappSQL = "CREATE DATABASE hrapp";
      statement.executeUpdate(hrappSQL);
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      if (statement != null) {
        try {
          statement.close();
        } catch (SQLException e) {
        } // nothing we can do
      }
      if (connection != null) {
        try {
          connection.close();
        } catch (SQLException e) {
        } // nothing we can do
      }
    }
  }

}

@lpf


Titre: [ JAVA ] mysql-connector-java-5.0.8.jar
Posté par: jpdelx sur 14 Novembre 2010 à 09:34:51
Bonjour

Vous pouvez trouver cette archive JAR via

~> http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.0.8/mysql-connector-java-5.0.8.jar

et l'archive mysql-connector-java-3.1.14.jar via

~> http://www.findjar.com/jar/mysql/jars/mysql-connector-java-3.1.14.jar.html

Je les ai regroupées dans une archive ZIP que vous pouvez télécharger via

~> http://jpdelx2007.free.fr/mysql_connector_java.zip ( 1 Mo ).

@lpf



e-Babillard - plateforme pédagogique interactive | Propulsé par SMF 1.0.6 modifié par jpdelx.
© 2001-2005, Lewis Media. Tous droits réservés.