Como pegar o valor de uma Int no banco de dados

MySQL

Java

14/09/2017

Amigos,

Tenho o codigo:

public Integer ultimoCodigoBD() {
        try {
            String hql = "select auto_increment from information_schema.tables "
                    + "where TABLE_SCHEMA='digitalizardb' and table_name='documento'";
            Query consulta = session.createSQLQuery(hql);
            return (Integer) consulta.uniqueResult();
            

        } catch (Exception e) {
            System.out.println("Erro ao pegar o ultimo codigo: "+e.getMessage()+e.getLocalizedMessage());
        }
        return 0;
    }


O intuito é pegar o valor(inteiro) deste campo e utiliza-lo para compor o nome do arquivo que será salvo no disco. Esta retornando erro de cast no momento do return.

o que estou fazendo errado?
Filipe Bevilaqua

Filipe Bevilaqua

Curtidas 0

Melhor post

Felipe Morais

Felipe Morais

20/09/2017

Bom dia, Filipe

Talvez seja bom verificar o retorno consulta.uniqueResult() apenas pra evitar NumberFormatException.

Para retornar o inteiro, tente assim:

public int ultimoCodigoBD() {
        try {
            String hql = "select auto_increment from information_schema.tables "
                    + "where TABLE_SCHEMA='digitalizardb' and table_name='documento'";
            Query consulta = session.createSQLQuery(hql);
            return Integer.parseInt(consulta.uniqueResult());
            

        } catch (Exception e) {
            System.out.println("Erro ao pegar o ultimo codigo: "+e.getMessage()+e.getLocalizedMessage());
        }
        return 0;
    }
GOSTEI 1
POSTAR