Olá
Gostaria de saber como pegar o resultao de uma consulta no banco tod de uma vez!
Este é meu código.
Estou querendo pegar todos os nomes das tabelas de uma só vez ao invés de percorrer e pegar nome a nome.
ResultSet rs = stm1.executeQuery(“select table_name from ALL_TABLES order by table_name”);
// Aqui não quero ter de percorrer uma por uma das linhas da minha consulta.
// Se tiver alguma forma de pegar todos os nomes de minhas tabelas de uma vez só, favor me informar.
while (rs.next()) {
System.out.println(rs.getString(1));
}
Pessoal tentei de várias formas até chegar aqui hoje!
Agradeço se alguém me der uma ajuda.
Resultset é uma lista encadeada, portanto, você só tem como referencia o primeiro e o ultimo elementos. O próximo elemento só pode ser acessado a partir do elemento anterior. Não dá pra fazer uma referência direta.
newbcc Cara valeu pela resposta isto vai me ajudar muito na performance do programa que criei.
Valeu mesmo.
A e com relação quantida de linhas pense em umas 5 mil será que da problema?
realmente não sei dizer se para muitas linhas, no seu caso, acima de 5 mil, irá dar algum problema. Teria que fazer testes.
Se estiver desenvolvendo profissionalmente, por segurança, realize testes na sua máquina e com a base de dados de Dev/QA, caso contrário (se estiver estudando), sem problemas.
Em relação a comparação entre ResultSet e o ResultList, o quê posso garantir com certeza, por experiência, é que este último tem um desempenho superior tanto para a busca de dados na base, quanto no mapeamento de dados para os seus objetos de negócio, uma vez que o Hibernate já faz isso para você. Com o ResultSet, você teria que desenvolver as lógicas para iterar cada resultado trazido, e montar os seus objetos de negócio.
Nas aplicações que trabalho e uso essa lógica, não tive nenhum problema. Mas vale o teste.