Listar Dados

Preciso ler uma tabela com ± 3000 registros e apresentar em uma tabela html.
Como são muitos registros gostaria de apresentar de 100 em 100. No busca do guj aparece todos os topicos e no rodapé a numeracao das paginas, para que o usuario possa clicar e apresentar o resultado. Gostaria de algo parecido.

Obrigado.

FAS

Displaytag!

Mas lembre-se de paginar tambem o preenchimento destes objetos… não adianta nada vc pagina e a cada pagina virada vc consultar e preencher novamente esses 3.000 objetos…

Obrigado, mas eu andei dando uma olhada, e esse displaytag lê todos os registros de uma só vez e guarda na seção, porém a minha tabela irá ter mais de 30 colunas com string e numerico e conversando com o cliente o numero irá passar de 5000 registros, por isso precisso implementar a paginacao interagindo com o banco de dados.

Alguém têm alguma idéia de como faço isso?

Ninguem !!!

Ninguem !!! :frowning:

Pelo que entendi, vc quer que o banco traga apenas os 100 primeiros
registros pra exibir na página, e que o banco só vá trazendo o resto
a medida que for navegando pras próximas páginas? É isso??

Sim,

por exemplo

na pagina ira aparecer 1 - 100 , 101 - 200 , 201 - 300

Conforme vou clicando nos links, faço uma consulta no banco e me retorna o resultSet de acordo com o cursor que enviei ao banco, pois como são muitos registros não posso trazer tudo para seção.

Bom, sou iniciante em Java, mas tenho uma boa experiência
com banco de dados (sou DBA Oracle).

Não sei, sinceramente, se existe algum mecanismo do
lado do Java que consiga gerenciar isso, o que acho
muito difícil. Talvez uma solução seria filtrar os 100
primeiros registros pra primeira página, e uma thread
concorrente ir carregando o resto dos dados pra uma
estrutura de memória (isso tudo do lado do Java).

No lado do banco de dados, infelizmente não dá pra
fazer isso, e te garanto que seria uma loucura tentar
implementar algo dessa maneira, pois corre um sério
risco do tempo de resposta ficar muito mais lento
do que da maneira que vc já tem.

3000 linhas é uma quantidade de registros relativamente
pequena (do lado do banco de dados). Se está lento
seu sistema, é bom verificar se a lentidão é no lado
da aplicação ou no banco de dados. Já te adianto que
é inadmissível um banco de dados demorar muito pra
responder esse número de registros e, caso esteja acontecendo
essa lentidão no banco de dados (testar rodando a mesma query
numa ferramenta nativa do banco) então é hora
de fazer um tunning na base de dados.

Fernando, outra coisa bem importante:
Verificar com o cliente a real necessidade de trazer TODOS
os dados de uma tabela…
Em tabelas grandes (x milhões de registros) é quase
obrigatório forçar o usuário a utilizar filtros.

Verifique se esta aplicação PRECISA realmente mostrar
os mais de 5 mil registros, ou se o usuário pode filtrar
esses dados.

http://displaytag.sourceforge.net