Mysql
 sql >> Database >  >> RDS >> Mysql

Database di query Java Mysql con connessione

Nel tuo returnAllParts#queryReturnAllParts metodo, cambia

con.getDBConnection();

Per

con = getDBConnection();

Il problema è che con è una variabile di java.sql.Connection e non ha un getDBConnection metodo. Dal tuo attuale returnAllParts la classe estende DBConnect classe, può accedere alla public Connection getDBConnection metodo senza problemi.

Questo perché nel tuo Main#main class, hai dichiarato DBConnect con . Non confondere questa variabile con con variabile dichiarata in altri metodi.

Non direttamente correlato al problema, ma ti suggerisco alcuni miglioramenti al tuo codice/design attuale:

  • Cambia il nome del tuo returnAllParts classe per qualcosa di più significativo per i futuri lettori (anche tu in alcuni giorni o settimane diventerai un futuro lettore del tuo codice). Dalla lettura del codice, sembra che questa classe debba essere rinominata in PartList .
  • Utilizza un pool di connessioni al database invece di ottenere manualmente le tue connessioni. Ci sono librerie che gestiscono questo per il tuo like BoneCP
  • Probabilmente sei nuovo alla programmazione, quindi sarebbe meglio che inizi nel modo giusto e sviluppi la tua applicazione a strati (ulteriori letture:Architettura multilivello ). Con questa base, possiamo dire che un DAO (o servizio dati, dipende da come lo chiami) dovrebbe contenere solo i metodi per accedere e recuperare i dati in un modo in cui altri client potrebbero consumarli come vogliono/necessitano, quindi sarebbe meglio restituire un List<PartList> oggetto e che un altro livello nella tua applicazione (probabilmente il più vicino alla presentazione) applicherà la trasformazione dai tuoi oggetti a una stringa JSON.
  • Per un punto di vista del design, sarebbe molto meglio se gli oggetti di accesso al database utilizzano un DBConnect oggetto invece di estendersi da esso. In questo modo, potresti avere un unico DBConnect configurazione di connessione oggetto per database associata a tutti i DAO correlati.