/** * 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";
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); }
// 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[i] + "')"); // 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[i]); 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(); } }
... 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é ...