sql >> Database >  >> RDS >> Mysql

Java Mysql-querydatabase met verbinding

In uw returnAllParts#queryReturnAllParts methode, wijzigen

con.getDBConnection();

Door

con = getDBConnection();

Het probleem is dat con is een variabele van java.sql.Connection en het heeft geen getDBConnection methode. Sinds uw huidige returnAllParts class breidt DBConnect uit class, heeft het toegang tot de public Connection getDBConnection methode zonder problemen.

Dit komt omdat in uw Main#main class, je hebt DBConnect con . gedeclareerd . Verwar deze variabele niet met de con variabele gedeclareerd in andere methoden.

Niet direct gerelateerd aan het probleem, maar ik stel u enkele verbeteringen voor aan uw huidige code/ontwerp:

  • Wijzig de naam van uw returnAllParts class voor iets zinvoller voor toekomstige lezers (zelfs jij wordt in sommige dagen of weken in een toekomstige lezer van je code). Als je je code leest, lijkt het erop dat deze klasse moet worden hernoemd naar PartList .
  • Gebruik een databaseverbindingspool in plaats van handmatig uw verbindingen op te halen. Er zijn bibliotheken die dit voor u afhandelen, zoals BoneCP
  • Waarschijnlijk ben je nieuw in programmeren, dus het is beter dat je op de juiste manier begint en je applicatie in lagen ontwikkelt (lees verder:Multitier-architectuur ). Met deze basis kunnen we zeggen dat een DAO (of dataservice, hangt ervan af hoe je het noemt) alleen de methoden moet bevatten om toegang te krijgen tot de gegevens en deze op te halen op een manier die andere klanten zouden kunnen gebruiken zoals ze willen / nodig hebben, dus het zou zijn beter een List<PartList> retourneren object en dat een andere laag in uw toepassing (waarschijnlijk het dichtst bij de presentatie) de transformatie van uw objecten naar een JSON-tekenreeks zal toepassen.
  • Voor een ontwerpstandpunt zou het veel beter zijn als uw databasetoegangsobjecten een DBConnect . gebruiken object in plaats van ervan uit te strekken. Op deze manier zou u een enkele DBConnect . kunnen hebben object per databaseverbindingsconfiguratie gekoppeld aan alle gerelateerde DAO's.


  1. Hoe java.sql.SQLException te overwinnen:uitzondering voor te veel verbindingen?

  2. Hulp nodig bij het maken van een query in SQL?

  3. SQUARE() Voorbeelden in SQL Server

  4. Drop MySQL-databases die overeenkomen met een wildcard?