You are on page 1of 7

TP : Module Connexion

Objectif : Lobjectif de ce TP est de crer un module de connexion une base de donnes. Scnario : On veut implmenter lajout des informations dun tudiant dans une table ETUDIANT . Etapes de la solution : Cration dune base de donnes formationdb Cration dune table etudiant avec les champs (nom, prnom et note). Cration dun projet java TestConnection Ajout du jar reprsentant le connecteur JDBC comme librairie du projet. Cration des packages : config , data , gestion , modele , outils Cration du fichier de config param.properties sous le package config Cration de la classe de connexion ConnectionManager.java sous le package data Cration de la classe Etudiant.java sous le package modele : cette classe contiendra les informations dun tudiant Cration de la classe Metier.java sous le package outils : cette classe contiendra les diffrentes mthodes de manipulation des informations des tudiants sur la base de donnes (ajout, suppression, modification, consultation ) Ajout de la classe excutable Traitement.java : cette classe va contenir une mthode main pour instancier les objets etudiant et appeler les mthodes de la classe Metier.java Code source de la solution : Structure du projet

param.properties
login=root password= driver=com.mysql.jdbc.Driver

url=jdbc:mysql://127.0.0.1:3306/formationdb

ConnectionManager.java
package data; import import import import import import java.sql.Connection; java.sql.DriverManager; java.sql.SQLException; java.util.MissingResourceException; java.util.PropertyResourceBundle; java.util.ResourceBundle;

public class ConnectionManager { private private private private static static static static String String String String LOGIN = null; PASSWORD = null; DRIVER = null; URL = null;

public static Connection getConnection() throws Exception { ResourceBundle rb = null; try { rb = PropertyResourceBundle.getBundle("config.param"); LOGIN = rb.getString("login"); PASSWORD = rb.getString("password"); DRIVER = rb.getString("driver"); URL = rb.getString("url"); } catch (MissingResourceException e2) { System.out.println("Paramtres manquants dans le fichier de paramtrage : "+ e2); } Connection ma_connexion = null; try { Class.forName(DRIVER); ma_connexion = DriverManager.getConnection(URL, LOGIN, PASSWORD); } catch (SQLException e) { System.out.println("Impossible de rcuperer une connection par le DriverManager : " + e); } return ma_connexion; } }

Etudiant.java
package modele; public class Etudiant { private String nom;

private String prenom; private int note; public Etudiant() { super(); // TODO Auto-generated constructor stub } public Etudiant(String nom, String prenom, int note) { this.nom = nom; this.prenom = prenom; this.note = note;

public int getNote() { return note; } public void setNote(int note) { this.note = note; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } @Override public String toString() { // TODO Auto-generated method stub return nom+" "+prenom+" "+note; }

Metier.java
package outils; import import import import import import java.sql.Connection; java.sql.DatabaseMetaData; java.sql.ResultSet; java.sql.ResultSetMetaData; java.sql.SQLException; java.sql.Statement;

import java.util.ArrayList; import modele.Etudiant; import data.ConnectionManager; public class Metier { public static int AjoutEtudiant(Etudiant etudiant) { int nombre_insertion = 0; // ResultSet rs = null; Statement Stmt = null; Connection con = null; try { String sqlQuery = null; sqlQuery = "insert into etudiant values('" + etudiant.getNom() etudiant.getNote() + "','" + etudiant.getPrenom() + "'," + + ")"; System.out.println(sqlQuery); con = ConnectionManager.getConnection(); Stmt = con.createStatement(); nombre_insertion = Stmt.executeUpdate(sqlQuery); } catch (SQLException e) { System.err.println("Erreur d'accs la base"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { Stmt.close(); con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return nombre_insertion;

public static ArrayList listeEtudiants() { ArrayList maListe = new ArrayList(); String sql = "select * from etudiant"; Connection con; try { con = ConnectionManager.getConnection(); Statement Stmt = con.createStatement(); ResultSet rs = Stmt.executeQuery(sql); while (rs.next()) { maListe.add(new Etudiant(rs.getString("nom"), rs

.getString("prenom"), rs.getInt("note"))); } rs.close(); Stmt.close(); con.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return maListe; } public static int ModifierEtudiant(Etudiant etudiant) { int nombre_modification = 0; // ResultSet rs = null; Statement Stmt = null; Connection con = null; try { String sqlQuery = null; sqlQuery = "update etudiant set note=" + etudiant.getNote() + " where nom='" + etudiant.getNom() + "'"; System.out.println(sqlQuery); con = ConnectionManager.getConnection(); Stmt = con.createStatement(); nombre_modification = Stmt.executeUpdate(sqlQuery); } catch (SQLException e) { System.err.println("Erreur d'accs la base"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { Stmt.close(); con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return nombre_modification;

public static void AfficherMetaDonne() { Statement Stmt = null;

Connection con = null; ResultSet rs = null; try { String sqlQuery = null; sqlQuery = "select * from etudiant "; System.out.println(sqlQuery); con = ConnectionManager.getConnection(); Stmt = con.createStatement(); rs = Stmt.executeQuery(sqlQuery); System.out.println("affichage des meta donnes"); DatabaseMetaData dbMeta = con.getMetaData(); System.out.println(dbMeta.getDatabaseProductName()); ResultSetMetaData rsMeta = rs.getMetaData(); System.out.println("nombre col : "+rsMeta.getColumnCount()); System.out.println("nom col num 1 :"+rsMeta.getColumnName(1)); System.out.println("type col num 1"+rsMeta.getColumnTypeName(1)); } catch (SQLException e) { System.err.println("Erreur d'accs la base"); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { try { Stmt.close(); con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }

Traitement.java
package gestion; import java.util.ArrayList; import modele.Etudiant; import outils.Metier; public class Traitement { public static void main(String[] args) {

Etudiant e = new Etudiant(); e.setNom("nom10"); e.setPrenom("prenom10"); e.setNote(10); int i = Metier.AjoutEtudiant(e); System.out.println("insertion : " + i); ArrayList list = Metier.listeEtudiants(); for (int j = 0; j < list.size(); j++) { System.out.println((Etudiant) list.get(j)); } e.setNote(20); int nbre_modification = Metier.ModifierEtudiant(e); System.out.println("Nombre de modification : " + nbre_modification); list = Metier.listeEtudiants(); for (int j = 0; j < list.size(); j++) { System.out.println((Etudiant) list.get(j)); } Metier.AfficherMetaDonne(); } }

You might also like