Transformando dados em bytes do banco para imagem

[code]
public ImageIcon recuperaImagem() {

    Connection conexao = null;
    Statement declaracao = null;
    ResultSet resultado = null;
    StringBuffer sql = new StringBuffer();

    sql.append("SELECT imagem FROM tabelaTeste WHERE codigo = 1");

    ImageIcon imagem = null;

    try {
        declaracao = conexao.createStatement();
        resultado = declaracao.executeQuery(sql.toString());

        if (resultado.next()) {
            Blob blob = (Blob) resultado.getBlob("imagem");
            if (blob!=null){
                imagem = new ImageIcon(blob.getBytes(1,
                                                    (int) blob.length()));
            }
        }
    } catch (SQLException ex) {
        ex.printStackTrace();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return imagem;
}[/code]

Algúem sabe alguma coisa generica?

Abraço