sql >> Databáze >  >> RDS >> Mysql

Databáze dotazů Java Mysql s připojením

Ve vašem returnAllParts#queryReturnAllParts metoda, změna

con.getDBConnection();

Autor

con = getDBConnection();

Problém je v tom, že con je proměnná z java.sql.Connection a nemá getDBConnection metoda. Od vašeho aktuálního returnAllParts class rozšiřuje DBConnect třídy, může přistupovat k public Connection getDBConnection metoda bez problémů.

Je to proto, že ve vašem Main#main třídy, deklarovali jste DBConnect con . Nezaměňujte tuto proměnnou s con proměnná deklarovaná v jiných metodách.

Přímo nesouvisí s problémem, ale navrhuji vám některá vylepšení vašeho současného kódu/designu:

  • Změňte název returnAllParts třídy pro něco smysluplnějšího pro budoucí čtenáře (i vy se za několik dní či týdnů stanete budoucím čtenářem svého kódu). Z přečtení vašeho kódu to vypadá, že by tato třída měla být přejmenována na PartList .
  • Namísto ručního získávání připojení použijte fond připojení k databázi. Existují knihovny, které to zpracovávají jako BoneCP
  • Pravděpodobně jste nováčkem v programování, takže by bylo lepší, abyste začali správným způsobem a vyvíjeli aplikaci ve vrstvách (další informace:Vícevrstvá architektura ). Na tomto základě můžeme říci, že DAO (nebo datová služba, podle toho, jak ji pojmenujete) by měla obsahovat pouze metody pro přístup k datům a jejich získávání způsobem, jakým by je ostatní klienti mohli využívat, jak chtějí/potřebují, takže by lépe vrátit List<PartList> objekt a že další vrstva ve vaší aplikaci (pravděpodobně nejbližší prezentaci) použije transformaci z vašich objektů na řetězec JSON.
  • Z hlediska designu by to bylo mnohem lepší pokud vaše objekty pro přístup k databázi používají DBConnect objekt místo toho, aby z něj vyčníval. Tímto způsobem můžete mít jeden DBConnect objekt na konfiguraci připojení k databázi přidružené ke všem souvisejícím DAO.


  1. CTE a narozeninový paradox

  2. HA pro MySQL a MariaDB - Porovnání Master-Master replikace s Galera Cluster

  3. Jak pomocí Laravel Migration změnit datový typ sloupce a aktualizovat jeho stávající data tak, aby odpovídala novému datovému typu, bez použití nezpracovaných SQL dotazů?

  4. Přihlášení pomocí externích služeb