En su returnAllParts#queryReturnAllParts
método, cambio
con.getDBConnection();
Por
con = getDBConnection();
El problema es que con
es una variable de java.sql.Connection
y no tiene un getDBConnection
método. Desde su actual returnAllParts
la clase extiende DBConnect
class, puede acceder a la public Connection getDBConnection
método sin problemas.
Esto se debe a que en su Main#main
clase, ha declarado DBConnect con
. No confunda esta variable con la con
variable declarada en otros métodos.
No está directamente relacionado con el problema, pero te sugiero algunas mejoras en tu código/diseño actual:
- Cambie el nombre de su
returnAllParts
class para algo más significativo para futuros lectores (incluso usted en algunos días o semanas se convertirá en un futuro lector de su código). Al leer su código, parece que esta clase debería cambiarse de nombre aPartList
. - Utilice un grupo de conexiones de base de datos en lugar de obtener sus conexiones manualmente. Hay bibliotecas que manejan esto para tu gusto BoneCP
- Probablemente eres nuevo en la programación, por lo que sería mejor que comenzaras de la manera correcta y desarrollaras tu aplicación en capas (lecturas adicionales:Arquitectura multinivel
). Con esta base, podemos decir que un DAO (o servicio de datos, depende de cómo lo llames) solo debe contener los métodos para acceder y recuperar los datos de manera que otros clientes puedan consumirlos como quieran/necesiten, por lo que sería mejor devolver una
List<PartList>
objeto y que otra capa en su aplicación (probablemente la más cercana a la presentación) aplicará la transformación de sus objetos a una cadena JSON. - Desde el punto de vista del diseño, sería mucho mejor si sus objetos de acceso a la base de datos usan un
DBConnect
objeto en lugar de extenderse desde él. De esta forma, podría tener un soloDBConnect
objeto por configuración de conexión de base de datos asociada a todos los DAO relacionados.