Pagination du médiateur JDBC

La pagination peut faciliter le déplacement à travers les ensembles de données volumineux du fait qu'elle limite la quantité de données extraites dans la mémoire à un moment donné. Le DMS de l'API JDBC fournit deux interfaces qui implémentent cette pagination.

Si les métadonnées fournies au service DMS (Data Mediator Service) définissent les clients et que la taille de page est définie à dix, alors la première page est un datagraphe contenant les dix premiers objets de données client. La page suivante est également un datagraphe contenant les dix clients suivants, etc.

Il faut noter que le service DMS JDBC effectue la pagination à la racine du graphique. Cela signifie qu'il n'existe aucune restriction quant au nombre d'objets de données associés renvoyés. Par exemple, si les métadonnées fournies au service DMS définissent les clients et les commandes associées, ce sont les clients qui sont paginés. Si la taille de page est définie à dix, alors la première page est un datagraphe contenant les dix premiers clients ainsi que toutes les commandes associées correspondant à chacun de ces clients.

Le service DMS fournit deux interfaces, Pager et CountingPager, que vous pouvez utiliser. L'interface Pager propose une fonctionnalité de méthode next() de type curseur. La fonction next() renvoie un graphique représentant la page suivante des données à partir de l'ensemble de données complet spécifié par les métadonnées du médiateur. Une fonction previous() présentant les mêmes capacités mais vers l'arrière (page précédente) est également disponible. L'interface CountingPager vous permet d'extraire un numéro de page spécifique. L'exemple suivant illustre la pagination à travers un ensemble volumineux d'instances de client à l'aide de l'interface CountingPager avec un maximum de 5 objets de données de la table racine par page.

CountingPager pager = PagerFactory.soleInstance.createCountingPager(5);
int count = pager.pageCount(mediator);
for (int i = 1, i <= count, i++) {
DataObject graph = pager.page(i, mediator);
// Réitérer sur tous les clients renvoyés dans la 
// page en cours.
Iterator iter = graph.getList("CUSTOMER").iterator();
 while (iter.hasNext()) {
  DataObject cust = (DataObject) iter.next();
System.out.println(cust.getString("CUSTFIRS NAME"));
 }
}

Si vous essayez de vous placer avant la première page ou après la dernière page disponible, une exception de médiateur JDBC se produit.


Icône indiquant le type de rubrique Rubrique de référence



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rdat_sdopage
Nom du fichier : rdat_sdopage.html