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 :

appel fonction connection


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 199
    Points : 87
    Points
    87
    Par défaut appel fonction connection
    Bonjour,

    Je fait une application avec une connection à une base de données mysql.
    J'ai réussi la connection que j'ai stockée dans un fichier ConnectBDD.java.

    Je voudrais savoir si il est possible d'appeler cette fonction dans d'autre fichiers .java. Car cela m'ennui de refaire la connection a chaque fois que je veux faire une requête?

    Voila ma connection (ConnectBDD.java) :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    package BaseCulture;
    import com.mysql.jdbc.Connection;
    import java.sql.*;
     
    public final class ConnectBDD extends Object{
    String result = "Connexion réussie";
    String req ;
     
    	   public final String Connection() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException {
     
    		   java.sql.Connection conn;
     
    		   try{
    			   /* Chargement du driver jdbc */
    			   Class.forName("com.mysql.jdbc.Driver").newInstance();
    			   /* Connection à la base de données */
    			   conn = java.sql.DriverManager.getConnection(
    			    		"jdbc:mysql://127.0.0.1/Culture","root","");
     
    			/* exception en cas de problème lors de la connexion */
    			} catch(Exception e){
    			    System.out.println("Connection ratée: "+e);
    			    System.exit(-1);   
    			}
    	return result;	      
    	    }
    	}
    et je voudrais savoir comment dans un autre fichier .java, je peux faire pour faire des requêtes sans remettre ce code dans la page

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    En général ce que moi je fais dans mes applis, je stocke tous les param de connection à la BD (adresse_ip,nom_base, driver, etc...) dans un fichier properties auquel j'accede par une classe qui est appelée en singleton dans d'autres classes qui ont besoin d'une connection à la base. cette architecture à l'avantage de decoupler ton code métier des éventuels changements que tu peux avoir effectuer sur les params de la base.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 199
    Points : 87
    Points
    87
    Par défaut
    Je n'ai pas tout compris, pourrais-tu me donner un exemple.
    J'ai vu plusieurs code ou il y a une fonction pour la connection, une pour l'execution des requêtes et une pour la fermeture de la connection.
    Cela est-il mieux?

  4. #4
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 52
    Points : 53
    Points
    53
    Par défaut
    moi aussi c'est ce que je fais, j'ai une classe mère ou j'ai la connexion, la déconnexion et exécution de la requête sur des méthodes, après je fais un extends de cette classe.
    et pour la sauvegarde des données, tu peux les sauvegarder comme il a dit DevServlet sur un fichier properties, voila le code pour lire tes données:
    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
    18
    19
    20
    21
    22
     
    Properties prop = new Properties();
     
    		FileInputStream in;
    		try {
    			in = new FileInputStream("bdd.properties");
    			try {
    				prop.load(in);
    				in.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
     
     
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    		String url = prop.getProperty("jdbc.url");
    		String user = prop.getProperty("jdbc.user");
    		String pass = prop.getProperty("jdbc.password");
    et ton fichier bdd.properties ressemble a ça:
    jdbc.url=jdbc:mysql://localhost/NomDeLaBase
    jdbc.user=root
    jdbc.password=admin

Discussions similaires

  1. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  2. PB pour Appel fonction dans DLL sur Builder3
    Par Fbartolo dans le forum C++Builder
    Réponses: 15
    Dernier message: 10/03/2005, 12h58
  3. pro c appelle fonction connexion
    Par friends dans le forum Oracle
    Réponses: 3
    Dernier message: 10/05/2004, 17h07
  4. Appels fonctions DLL
    Par Micka91 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 17/02/2004, 17h32
  5. Appel fonction assembleur en C
    Par grandjouff dans le forum C
    Réponses: 6
    Dernier message: 07/12/2003, 20h43

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