Créez une classe pour vous connecter à n'importe quelle base de données à l'aide de jdbc


J'essaie de concevoir une application Java swing. Je veux expérimenter et utiliser un type d'architecture MVC dans lequel mon interface utilisateur est séparée de la logique réelle pour accéder aux données et se connecter à une base de données. J'ai décidé que je devais créer une classe personnalisée qui contient toute la logique pour me connecter à la base de données, puis simplement appeler des méthodes de cette classe dans mon événement d'action pour n'importe quel formulaire et bouton particuliers. De cette façon, je peux changer de base de données et tout ce que je dois faire (si j'ai une grande base de code avec beaucoup de formulaires) est de changer la chaîne de connexion JDBC pour se connecter à oracle au lieu de MySQL. Jusqu'à présent, j'ai le code pour me connecter à une base de données mais j'essaie de comprendre comment je peux en faire une classe.

try
     {
         Class.forName("com.mysql.jdbc.Driver");
         Connection con=(Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/prototypeeop","root","triala");
         Statement stmt=con.createStatement();
         ResultSet rs=stmt.executeQuery(sql);

Je retournerai ensuite le jeu de résultats d'une fonction membre de ma classe de connexion à traiter et à afficher à l'écran.

Author: ROMANIA_engineer, 2012-06-06

3 answers

Il suffit de créer une classe distincte et de lui déléguer une connexion à la base de données:

public class ConnectionManager {
    private static String url = "jdbc:mysql://localhost:3306/prototypeeop";    
    private static String driverName = "com.mysql.jdbc.Driver";   
    private static String username = "root";   
    private static String password = "triala";
    private static Connection con;
    private static String urlstring;

    public static Connection getConnection() {
        try {
            Class.forName(driverName);
            try {
                con = DriverManager.getConnection(urlstring, username, password);
            } catch (SQLException ex) {
                // log an exception. fro example:
                System.out.println("Failed to create the database connection."); 
            }
        } catch (ClassNotFoundException ex) {
            // log an exception. for example:
            System.out.println("Driver not found."); 
        }
        return con;
    }
}

, Puis obtenir la connexion dans un code comme suit:

private Connection con = null;
private Statement stmt = null;
private ResultSet rs = null;

con = ConnectionManager.getConnection();
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
 13
Author: kapand, 2016-09-22 23:39:40

Vous pouvez essayer MySQL JDBC Utilities API pour la connectivité MySQL.

Cette API offre des fonctionnalités très intéressantes et répond également à vos besoins!

 0
Author: S1LENT WARRIOR, 2013-05-11 10:06:50

Deux façons de le faire

  1. Remplacer la méthode determineCurrentLookupKey () de la classe AbstractRoutingDataSource de Spring.

  2. Vous pouvez créer une classe qui renverra une connexion basée sur le système.

 0
Author: user3029620, 2013-11-25 18:15:58