Connexion Globale à ma base de données

Signaler
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
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

Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
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)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
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
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
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;
    }

}