sql >> Base de Datos >  >> RDS >> Mysql

Base de datos de consultas Java Mysql con conexión

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 a PartList .
  • 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 solo DBConnect objeto por configuración de conexión de base de datos asociada a todos los DAO relacionados.