Em seu
returnAllParts#queryReturnAllParts
método, mudança con.getDBConnection();
Por
con = getDBConnection();
O problema é que
con
é uma variável de java.sql.Connection
e não tem um getDBConnection
método. Como seu returnAllParts
atual classe estende DBConnect
classe, ele pode acessar a public Connection getDBConnection
método sem problemas. Isso ocorre porque em seu
Main#main
class, você declarou DBConnect con
. Não confunda esta variável com o con
variável declarada em outros métodos. Não diretamente relacionado ao problema, mas sugiro algumas melhorias no seu código/design atual:
- Altere o nome do seu
returnAllParts
class para algo mais significativo para futuros leitores (até mesmo você em alguns dias ou semanas se tornará um futuro leitor do seu código). Ao ler seu código, parece que esta classe deve ser renomeada paraPartList
. - Use um pool de conexões de banco de dados em vez de obter suas conexões manualmente. Existem bibliotecas que lidam com isso como BoneCP
- Provavelmente você é novo na programação, então seria melhor começar do jeito certo e desenvolver seu aplicativo em camadas (leia mais:Arquitetura de vários níveis
). Com essa base, podemos dizer que um DAO (ou serviço de dados, depende de como você o nomeia) deve conter apenas os métodos para acessar e recuperar os dados de uma forma que outros clientes possam consumi-los como quiserem/precisar, então seria melhor retornar um
List<PartList>
objeto e que outra camada em seu aplicativo (provavelmente a mais próxima da apresentação) aplicará a transformação de seus objetos em uma string JSON. - Para um ponto de vista de design, seria muito melhor se seus objetos de acesso ao banco de dados usam um
DBConnect
objeto em vez de se estender a partir dele. Dessa forma, você pode ter um únicoDBConnect
objeto por configuração de conexão de banco de dados associada a todos os DAOs relacionados.