Duda con traer datos desde Java.

Resulta que estoy haciendo una consulta en la capa de persistencia en Java, y me trae como un string la sentencia SQL, y yo no quiero que me traiga el String, sino quiero que me traiga los valores de Mysql.

Les paso el código a continuación, para ver si alguien me puede ayudar:

 public List<Alumno> verUltimoRegistro(){
        Connection conn = null;
        Statement stmt = null;
        List<Alumno> col = new ArrayList();
        try {
            Class.forName(JDBC_DRIVER);
            System.out.println("conexión establecida");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);
        System.out.println("creando no se lo que");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT CedulaAlu FROM alumno";
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()){
                Alumno alu;
                alu = new Alumno();
                alu.setCedula(rs.getInt("CedulaAlu"));
                col.add(alu);
                System.out.println(sql);
            }
        }
            catch (SQLException se){
            se.printStackTrace();
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return col;
    }

Cuando ejecuto esa línea de código, me sale en pantalla: Select * from cedulaalu from alumno

Pero yo no quiero eso, yo quiero que me traiga los valores de la base de datos de alumno.

Si alguien me puede ayudar.

1 respuesta

Respuesta
1

Pues ahora lo que haces es imprimir la consulta SQL, no otra cosa... Según el código te tendría que retornar una lista de objetos tipo 'Alumno', pero sólo con la propiedad 'Cedula'.

Y como haría para retornar la cédula, y demás campos en ese sql??

Hice sólo la cédula a modo ejemplo, la idea es que te retorne todos los datos del alumno.

Pues no se cuales campos tendrá tu tabla, pero tu consulta debería ser algo como:

// Para traer campos específicos
SELECT * FROM alumnos
// Para traer todos los campos
SELECT campo1, campo2, campo4 FROM alumnos

Disculpa, me confundí. Para todos los campos sería colocar el asterisco (*), y para campos específicos lo otro...

Si, eso lo se, yo me refiero al código de JAVA.

Gracias igual por el tiempo de ayuda.

Mmm no entiendo a qué te refieres...

Que con el código anterior, de programación en JAVA me devuelve la sentencia SQL "select * from alumno" pero no el resultado de la consulta.

Yo quiero que me devuelva el resultado de la sentencia SQL.

No, la función devuelve una lista de objetos Alumno. Lo que pasa es que estás imprimiendo la consulta (luego de agregar un objeto Alumno a la lista), quizá es por eso la confusión.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas