Paginação do Mediador JDBC

A paginação pode ser útil para movimentação por meio de grandes conjuntos de dados porque pode limitar a quantidade de dados carregados na memória a qualquer momento. A API do JDBC DMS fornece duas interfaces que implementam a paginação.

Se os metadados fornecidos ao DMS (Data Mediator Service) definir clientes e o tamanho da página for definido como dez, a primeira página será um DataGraph que contém os primeiros dez DataObjects de cliente. A próxima página é outro DataGraph com os próximos dez Clientes e assim por diante.

Uma observação é que o JDBC DMS fornece paginação na raiz do gráfico. Ou seja, não há restrição para o número de DataObjects relacionados retornados. Por exemplo, se os metadados fornecidos no DMS definirem clientes e pedidos relacionados, esses são os clientes que serão paginados. Se o tamanho da página for definido como dez, a primeira página será um gráfico com os 10 primeiros clientes e todos os pedidos relacionados para cada cliente.

Existem duas interfaces fornecidas pelo DMS das quais você pode se beneficiar, Pager e CountingPager. A interface Pager fornece um recurso do método next() semelhante ao cursor. A função next() retorna um gráfico que representa a próxima página de dados do conjunto de dados inteiro especificado pelos metadados do mediador. Também há uma função previous() disponível com os mesmos recursos, apenas retroativos. A interface CountingPager permite recuperar um número de páginas específicas. O exemplo a seguir ilustra a paginação por meio de um grande conjunto de instâncias do cliente que utiliza uma interface CountingPager com, no máximo, 5 DataObjects da tabela raiz por página.

CountingPager pager = PagerFactory.soleInstance.createCountingPager(5);
int count = pager.pageCount(mediator);
for (int i = 1, i <= count, i++) {
DataObject graph = pager.page(i, mediator);
// Itere por meio de todos os clientes retornados na 
// página atual.
Iterator iter = graph.getList("CUSTOMER").iterator();
 while (iter.hasNext()) {
  DataObject cust = (DataObject) iter.next();
System.out.println(cust.getString("CUSTFIRS NAME"));
 }
}

Se você tentar mover-se antes da primeira página ou depois da última página disponível, ocorrerá uma exceção do mediador JDBC.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_sdopage
Nome do arquivo: rdat_sdopage.html