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
returnAllPartsclass 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
DBConnectobjeto em vez de se estender a partir dele. Dessa forma, você pode ter um únicoDBConnectobjeto por configuração de conexão de banco de dados associada a todos os DAOs relacionados.