Connexion Globale à ma base de données

ndaseraphin Messages postés 74 Date d'inscription lundi 29 août 2005 Statut Membre Dernière intervention 1 février 2012 - 25 août 2011 à 14:35
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 26 août 2011 à 08:31
bonjour, je veux créer un methode globale unique connexion qui va me permet de me connecter à ma base de données sur n'importe quel formulaire en appelant connexion. j'ai fais mais quand je me positionne sur un autre formulaire de mon projet et j'appel connexion c'est souligné en m'indiquant qu'il ne reconnais pas connexion .je suis coincé.voici mon code:

import java.io.*;
import java.sql.*;


public class Connexion {

String url;
Connection conn;

public Connection connexion(){

try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
url="jdbc:odbc:connect_vmanager";
conn=null;
conn=DriverManager.getConnection(url);
System.out.println("connexion OK");
}
catch(ClassNotFoundException e)
{
System.err.println("Failed to load driver");
e.printStackTrace();
System.exit(1);
}
catch(SQLException e)
{
System.err.println("Unable to connect");
e.printStackTrace();
System.exit(1);
}
return conn;
}
}

3 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 11
25 août 2011 à 18:07
salut

je pense que ce que tu veux c est un singleton ... une class qui n a qu une instance et renvoi sa réference... ;o)
si tu veux une methode globale (ou... que c est pas beau en POO brrrr!!! ) il te faut la faire 'static' ... de plus il est ridicule de réinitialiser ton driver et ta reference à chaque appel de la méthode... dans ce cas test la nullité et renvoi la reference sans autre opération si elle existe... par convention ta méthode devrait être nommé getConnexion() ...

GodConan ;o)
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 août 2011 à 08:27
Bonjour,

Entièrement d'accord avec GodConan, tu peux regarder cette source qui te donnera un exemple de singleton appliqué sur une base de données : http://www.javafr.com/codes/CONNEXION-BASE-ORACLE_53290.aspx
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
26 août 2011 à 08:31
Je te donne également un exemple simple de singleton :

public class Singleton {

    /**
     * L'unique instance de la classe est stockée dans une variable static nommé instance
     */
    private static final Singleton instance = new Singleton();

    /**
     * Le constructeur privé empêche l'instanciation en dehors de la classe Singleton
     */
    private Singleton(){
        super();
    }


    /**
     * Methode qui permet de recuperer l'unique instance en dehors de la classe
     */
    public static Singleton getInstance(){
        return instance;
    }

}

Rejoignez-nous