Mysql
 sql >> Base de données >  >> RDS >> Mysql

Base de données de requête Java MySQL avec connexion

Dans votre returnAllParts#queryReturnAllParts méthode, changer

con.getDBConnection();

Par

con = getDBConnection();

Le problème est que con est une variable de java.sql.Connection et il n'a pas de getDBConnection méthode. Depuis votre returnAllParts actuel la classe étend DBConnect class, il peut accéder à la public Connection getDBConnection méthode sans problème.

C'est parce que dans votre Main#main class, vous avez déclaré DBConnect con . Ne confondez pas cette variable avec le con variable déclarée dans d'autres méthodes.

Pas directement lié au problème, mais je vous suggère quelques améliorations à votre code/design actuel :

  • Modifier le nom de votre returnAllParts classe pour quelque chose de plus significatif pour les futurs lecteurs (même vous dans quelques jours ou semaines deviendrez un futur lecteur de votre code). À la lecture de votre code, il semble que cette classe devrait être renommée PartList .
  • Utilisez un pool de connexions de base de données au lieu d'obtenir manuellement vos connexions. Il existe des bibliothèques qui gèrent cela pour votre comme BoneCP
  • Vous êtes probablement novice en programmation, il serait donc préférable que vous commenciez de la bonne manière et que vous développiez votre application en couches (pour en savoir plus :Architecture multiniveau ). Avec cette base, nous pouvons dire qu'un DAO (ou service de données, dépend de la façon dont vous le nommez) ne devrait contenir que les méthodes pour accéder et récupérer les données d'une manière que d'autres clients pourraient consommer comme ils le souhaitent/ont besoin, donc ce serait mieux retourner un List<PartList> objet et qu'une autre couche de votre application (probablement la plus proche de la présentation) appliquera la transformation de vos objets en une chaîne JSON.
  • Du point de vue du design, ce serait bien mieux si vos objets d'accès à la base de données utilisent un DBConnect objet au lieu de s'en étendre. De cette façon, vous pourriez avoir un seul DBConnect objet par configuration de connexion à la base de données associée à tous les DAO associés.