Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
5
respuestas

Exception in thread "main"

Hola Buenas tardes,

tengo una duda, me salieron estas excepciones. Cómo puedo arreglarlo Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

5 respuestas

Sera que mi tabla la hice en Workbench y no en símbolo de sistema como lo hizo el maestro?

agrego más pantallas

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

En tu file pom.xml estas usando la misma version de la que el profesor o superior? Segun chatgpt esa excecion se produce cuando intentas utilizar una característica o función que no está soportada por la base de datos o el controlador JDBC con el que estás trabajando.

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version> // yo uso esta version
</dependency>

Que tal compañero, tenia el mismo error, revisando el codigo cai en la cuenta que tenia mal escrito el ultimo fila.put, en tu caso esta pasando lo mismo

Pusiste lo siguiente:

fila.put("CANTIDAD", String.valueOf(resultSet.getArray("CANTIDAD")));

y es:

fila.put("CANTIDAD", String.valueOf(resultSet.getInt("CANTIDAD")));

Por las dudas te dejo todo el bloque asi copias y pegas:

public List<Map<String, String>> listar() throws SQLException {
        
        Connection con = new ConnectionFactory().recuperaConexion();
        
        Statement statement = con.createStatement();
        
        boolean result = statement.execute("SELECT ID, NOMBRE, DESCRIPCION, CANTIDAD FROM PRODUCTO");
        
        ResultSet resultSet = statement.getResultSet();
        
        List<Map<String, String>>resultado = new ArrayList<>();
        
        while (resultSet.next()) {
            
            Map<String, String> fila = new HashMap<>();
            fila.put("ID", String.valueOf(resultSet.getInt("ID")));
            fila.put("NOMBRE", resultSet.getString("NOMBRE"));
            fila.put("DESCRIPCION", resultSet.getString("DESCRIPCION"));
            fila.put("CANTIDAD", String.valueOf(resultSet.getInt("CANTIDAD")));
        
            resultado.add(fila);
            
        }
        
        System.out.println(result);
        
        con.close();
                
        return resultado;
    }

Exitos!!!