JDBC Pilote ET Connexion (drôle de logique ?)

stevenleferran Messages postés 32 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 15 août 2009 - 29 mars 2007 à 14:37
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 29 mars 2007 à 16:13
Bonjour

Je vous remercie de me dire si le code suivant (qui fonctionne) est correct ou pas? Et de m'indiquer les éventuels problèmes de logique. Ce que m'a dit mon formateur sur une Evaluation de Fin d'Activité.
Ceci concerne juste ma méthode de connexion et/ou ma méthode du chargement du pilote

/**
 * Classe Connexion
 * Classe permettant :
 * - de charger le pilote jdbc->odbc
 * - d'établir une connexion à la BDD oradi sous Oracle
 * - fermer cette connexion à la BDD
 * @author Steven LE FERRAN
 * Créé : 20 MARS 2007
 */


package bdd;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Connexion {




 /**
  *  Déclaration des Attributs
  */
 private static Connection connexion;
 final private static String url="jdbc:odbc:oradi";
 final private static String user="eleve3";
 final private static String pass="eleve3";




 /**
  * Constructeur
  */
 public Connexion() {
      pilote(); // Chargement du pilote ODBC
      connexion(); // Création de la connexion à Oracle
 } // Fin Constructeur




 /*
  *  Accesseurs ET Modificateurs
  */


 // connexion
 public static Connection getConnexion() {
  if (connexion==null)
   try {
       connexion = DriverManager.getConnection(url,user,pass);
   }
   catch (SQLException e) {
       e.printStackTrace();
   }
  return connexion;
 }


 public static void setConnexion(Connection connexion) {
     Connexion.connexion = connexion;
 }




 /*
  * Les Méthodes
  */




 /**
  *  Méthode pilote()
  *  Chargement du pilote JDBC->ODBJ
  */
 public void pilote() {
  try {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     }
  catch (ClassNotFoundException e) {
          System.out.println("Impossible de charger le pilote jdbc:odbc.\n"+e);
          System.exit(0);
       }
 } // Fin méthode pilote




 /**
  *  Méthode connexion()
  *  Connexion à la BDD oradi (sous Oracle)
  */
 public static void connexion() {
  try {
   connexion = DriverManager.getConnection(url,user,pass);
     }
  catch (SQLException e) {
          System.out.println("Connection à la base de données oradi sous Oracle impossible.\n"+e);
          System.exit(0);
     }
 } // Fin méthode connexion




 /**
  *  Méthode fermerConnection()
  *  ferme la connection à Oracle
  */
 public static void fermerConnexion() {
  try {
   connexion.close();
  }
  catch(SQLException e) {
   System.out.println("PFermeture de la connexion Oracle impossible.\n"+e);
   System.exit(0);
  }
 } // Fin Méthode fermerConnection




} // Fin Classe Connexion

En vous remerciant

Steven LE FERRAN

1 réponse

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
29 mars 2007 à 16:13
la methode connexion() est superflu et est même une erreur car il implique 2 endroit different  dans le code pour faire la même chose...  la methode  getConnexion() est suffisante ;o)...


je dirais aussi que la methode pilot() est superflu

et pour la mise en place du pilote l utilisation de newInstance() me semble plus juste.

Class.forName(
"Driver" ).newInstance();




[purple]GodConan/purple[:o)]
0
Rejoignez-nous