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 :

Problème de rapidité: une seule connexion ou plusieurs ?


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Etudiant (domaine de prédilection java)
    Inscrit en
    Mars 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant (domaine de prédilection java)
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2012
    Messages : 71
    Par défaut Problème de rapidité: une seule connexion ou plusieurs ?
    Bonjour à tous,
    Je vous écris car actuellement je suis un tout petit peu embrouillé.
    Je fais une application qui se connecte à une base de données SQL Server. Pour gérer la connexion à la BD, j'ai créé une classe Connection dont la méthode principale me renvoie un objet de type Connection. Voici le code en substance:
    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
    17
    public class Connect {
    	String pwd;
    	String user;
    	String dataBase;
    	String adressEtPort;
    	public Connect(String adressEtPort, String dataBase, String user, String pwd){
    		this.adressEtPort= adressEtPort;
    		this.dataBase=dataBase;
    		this.user=user;
    		this.pwd=pwd;
    	}
     
    	public  Connection connectDb() throws SQLException{
    		String connectionUrl="jdbc:sqlserver://"+adressEtPort+";databaseName="+dataBase+"; user="+ user+"; password="+pwd +";";
    		Connection con= DriverManager.getConnection(connectionUrl);
    		return con;
    	}
    J'ai ensuite déclaré dans ma classe principale ConsoleFrame des objets de type Connection et Statement statiques.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private static Connection con=null;
    private static Statement stmt=null;
    Je leur ai donné des valeurs,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    con=connect.connectDb();
    stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    et à présent je les utilise pour toutes mes classes qui doivent se connecter à la BD par le biais de l'expression Jusqu'à présent ça fonctionne, mais ce qui me gêne c'est d'avoir une seule connexion ouverte(et statique qui plus est!!) jusqu'à ce que l'appli soit fermée. Je crains en fait que lorsque plusieurs personnes tenteraient de se connecter simultanément ça rame à mort!! je voudrais donc savoir s'il n'est pas mieux pour les performances (rapidité) et pour prévenir des attentes trop longues d'avoir une connexion par classe accédant à la base de données? Par exemple on aurait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public class X{
    private Connection con;
    private Statement stmt;
    public X(){
        con= connect.connectDb();
        stmt= con.createStatment(...);
    }
    ........
    fermerConnexions()..
    , pareil pour une classe Y, Z ou lambda...
    Need a help pleeeaz!!

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 483
    Par défaut
    Non, ce qu'il te faut en général, c'est une connexion par "groupe d'action" (transaction). Autrement dit, quand l'utilisateur appuye sur un bouton et qu'il y a une série de trucs à faire -> tu démarrer une connexion ou transaction, tu fait tout ton bordel et tu la ferme

Discussions similaires

  1. Une seule connexion pour plusieurs sites
    Par poussinvert dans le forum Langage
    Réponses: 0
    Dernier message: 01/05/2013, 23h30
  2. Problème pour maintenir une seule connexion
    Par ramoucha23 dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 13/06/2011, 16h37
  3. [MySQL] faire une seule balise pour plusieurs contenu (ajout: problème enregistrement xml)
    Par jameson dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 02/12/2010, 17h50
  4. [MySQL] php: une seule connexion bdd pour plusieurs pages
    Par hammag dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/04/2009, 16h28
  5. Une seule table VS plusieurs tables
    Par LostControl dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2003, 11h56

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