Bonjour à vous.
Ce tutoriel fait suite à un celui ci : Java – Connexion avec une base de données MySQL.
Prérequis
Pour pouvoir tester ces codes, je vous propose ci-dessous une petite base de données SQL à importer.
Bien sûr, avant de pouvoir insérer ces lignes que je vous partage, n’oublier pas de créer un la bases de données en question : « comptebancaire ».
Vous ne savez pas ou vous avez oublié comment créer une base de données, cliquez ici (ce tutoriel va arriver bientôt).
-- Structure de la table `compte`
CREATE TABLE `compte` (
`id` int(8) NOT NULL,
`numerocompte` bigint(255) NOT NULL,
`typecompte` varchar(11) NOT NULL,
`valeurcreditee` double NOT NULL,
`tauxplacement` double NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;
-- Contenu de la table `compte`
INSERT INTO `compte` (`numerocompte`, `typecompte`, `valeurcreditee`, `tauxplacement`) VALUES
(1, 'Courant', 500, 2.5),
(2, 'Courant', 200, 1),
(3, 'Epargne', 500, 2.5),
(4, 'Epargne', 500, 2.5),
(5, 'Courant', 200, 1),
(6, 'Courant', 200, 1),
(7, 'Courant', 500, 3),
(8, 'Joint', 500, 3),
(9, 'Courant', 500, 2.5),
(10, 'Courant', 200, 2.5),
(11, 'Courant', 230, 3),
(12, 'Epargne', 230, 3),
(13, 'Epargne', 230, 1),
(14, 'Courant', 230, 1),
(15, 'Courant', 200, 2.5);
Vérifier le code de connexion à la base de données
/*
* Il est important d'importer ces classe inclus dans l'extension
* MySQL Connector que je vous ai fait récupérer auparavant.
*/
import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
// Votre Run
public class Main {
// La méthode qui appelera votre fonction Run
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
// Votre fonction Run
// Vos information de connexion à une base de données
String BDD = "votreBaseDeDonnée";
String url = "jdbc:mysql://localhost:3306/" + BDD;
String user = "root";
String passwd = "root";
// L'essaie de connexion à votre base de donées
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user, passwd);
System.out.println("Connecter");
} catch (Exception e){
e.printStackTrace();
System.out.println("Erreur");
System.exit(0);
}
}
});
}
}
Une fois la connexion à la base de données fonctionnelle,vous devez importer quelques fonctions complémentaires et indispensable pour la suite.
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
Aussi, juste après l’ouverture de votre classe « Main« , insérez ces variables nécessaires.
static Connection conn;
static Statement state;
static ResultSet result;
static ResultSetMetaData resultMeta;
static Object[][] donn;
static String[] champs;
static Object[] val;
static String tableBDD = "compte";
Ensuite, ajouter ces lignes suivantes dans la parti « try » du « try & catch« , juste après la ligne « System.out.println(« Connecter »);« .
// Déclaration de la connexion avec la base de donnée
Statement state = conn.createStatement();
//L'objet ResultSet contient le résultat de la requête SQL
ResultSet result = state.executeQuery("SELECT * FROM compte order by numerocompte");
//On récupère les MetaData
ResultSetMetaData resultMeta = result.getMetaData();
// Affiche d'un séparateur visuel (oui, c'est pas très propre, mais libre à vous de le modifié)
System.out.println("\n*************************************************************");
// On affiche le nom des colonnes
for(int i = 1; i <= resultMeta.getColumnCount(); i++)
System.out.print(" " + resultMeta.getColumnName(i).toUpperCase() + " ");
// Un nouveau séparateur visuel
System.out.println("\n*************************************************************");
// On affiche les données ligne par ligne
while(result.next()){
for(int i = 1; i <= resultMeta.getColumnCount(); i++)
System.out.print(" " + result.getObject(i).toString() + " ");
System.out.println("\n-------------------------------------------------------------");
}
// On ferme tout les connexion à la base de données
result.close();
state.close();
Voici le code au complet, ci-dessous. 🙂
Vous vous inquiétez pour le peu d’information que je vous fournit, mais il ne faut pas. Regardez bien et vous distinguerez que j’ai commenté mes codes pour vous 😉 .
package MySQL;
// Les importations Java nécessaires au bon fonctionnement du code
import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
// Ma classse "Main"
public class Main {
// Les variables nécessaires
static Connection conn;
static Statement state;
static ResultSet result;
static ResultSetMetaData resultMeta;
static Object[][] donn;
static String[] champs;
static Object[] val;
static String tableBDD = "compte";
// Démarrage de l'application
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
// Ma méthode "Run"
public void run() {
// Informations de connexion
String BDD = "comptebancaire";
String url = "jdbc:mysql://localhost:3306/" + BDD;
String user = "root";
String passwd = "root";
// Vérification de la connexion avec la base de données
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, user, passwd);
System.out.println("Connecter");
// Déclaration de la connexion avec la base de donnée
Statement state = conn.createStatement();
//L'objet ResultSet contient le résultat de la requête SQL
ResultSet result = state.executeQuery("SELECT * FROM compte order by numerocompte");
//On récupère les MetaData
ResultSetMetaData resultMeta = result.getMetaData();
// Affiche d'un séparateur visuel (oui, c'est pas très propre, mais libre à vous de le modifié)
System.out.println("\n*************************************************************");
// On affiche le nom des colonnes
for(int i = 1; i <= resultMeta.getColumnCount(); i++)
System.out.print(" " + resultMeta.getColumnName(i).toUpperCase() + " ");
// Un nouveau séparateur visuel
System.out.println("\n*************************************************************");
// On affiche les données ligne par ligne
while(result.next()){
for(int i = 1; i <= resultMeta.getColumnCount(); i++)
System.out.print(" " + result.getObject(i).toString() + " ");
System.out.println("\n-------------------------------------------------------------");
}
// On ferme tout les connexion à la base de données
result.close();
state.close();
} catch (Exception e){
e.printStackTrace();
System.out.println("Erreur");
System.exit(0);
}
}
});
}
}
Votre console a dû faire apparition et vous afficher le résultat des requêtes.
Voici deux captures d’écrans ci-dessous pour vous montrer en image le résultat ce code. 😉
Merci d’avoir suivi ce tutoriel 🙂 .
Découvrez d’autres astuces sur cette IDE ici.
Si vous avez des questions, n’hésitez pas à ajouter un commentaire 😉 .
Leave a Reply