IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Conseil sur une classe de connexion à ma bdd


Sujet :

JDBC Java

  1. #1
    Membre régulier Avatar de 0redd
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 141
    Points : 79
    Points
    79
    Par défaut Conseil sur une classe de connexion à ma bdd
    Bonsoir,
    J'ai créer une classe pour pouvoir me connecter à ma base de donnée à l'aide de JDBC, mais je voudrais avoir votre avis sur certain points;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class Bdd {
    	private static Connection connexion;
    	static {
    		try {
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    			connexion = DriverManager.getConnection("...");
    		} catch(Exception e) {
    				System.err.println("Exception: " + e.getMessage());
    		}		
    	}
     
    	public static Connection getConnexion() {
    			return connexion;
    	}
    }
    Donc la classe crée une seul fois la connexion vers ma base de donnée (j'ai fais cela pour économiser en ressources ), est une bonne idée?
    car j'utilise cela dans toutes mes classes... sinon j’aurai a créé des connexions dans chaque méthode
    ensuite, la connexion elle doit avoir un timeout, genre apres 2h d'inactivité elle arrete, ou pourrai-je trouvais cette valeurs?
    bref, j'attends vos conseil avec impatience
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    Bonjour,

    ce que tu a fait n'est pas faux en soit, mais rien ne te garantie que ta connexion est bien fermer a chaque coup.

    de plus tu crée une nouvelle connexion à chaque appelle. je pense que ce qui serais bien c'est de de pencher sur les pool de connexion

    DataSource lit la FAQ tu verra je pense que cela corresponde a ton besoin

  3. #3
    Membre régulier Avatar de 0redd
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 141
    Points : 79
    Points
    79
    Par défaut
    Merci rolfone,

    je viens de jeter un coup d'oeil sur les pools de connexion; ça serai plus correcte et plus pratique, je pense que je vais m'y mettre ..

    sinon pour la classe, je l'avais créé pour ne pas avoir a instancié a chaque fois une Connection, mais est créer juste la première fois,
    pour ce qui est fermeture de connexion, au fait elle restait toujours ouverte ...

    Merci

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bof, mais alors vraiment bof.

    Je te conseille de plutôt suivre le tutoriel suivant : http://cyrille-herby.developpez.com/...c-pattern-dao/
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre régulier Avatar de 0redd
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 141
    Points : 79
    Points
    79
    Par défaut
    j'ai imprimé l'article, et j'ai lu les premières pages, c'est plutot mapping O/R,
    c'est que j'ai dejà des classes, qui marche bien,
    la classe que j'ai envoyé, c'étais juste pour optimiser, bref, je continue la lecture de l'article ,
    sinon merci pour le lien

  6. #6
    Membre régulier Avatar de 0redd
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 141
    Points : 79
    Points
    79
    Par défaut
    sinon, pour la classe de connexion, il a utilisé le pattern singleton, chose que j'ai faite aussi, je vois pas pourquoi le Bof

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/01/2012, 16h02
  2. Réponses: 2
    Dernier message: 28/02/2011, 09h45
  3. [MySQL] Faire une Classe de connexion BDD sans autocommit
    Par popovitch130 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/02/2009, 00h00
  4. Réponses: 14
    Dernier message: 14/03/2005, 09h16
  5. [MFC] Problème pointeur sur une classe
    Par mick74 dans le forum MFC
    Réponses: 7
    Dernier message: 14/04/2004, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo