WebSphere Application Server Network Deployment for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

JDBC メディエーター・ページング

指定された時間でメモリー内にプルされるデータの量を制限できるので 、ページングは大量のデータ・セットを介しての移動に有効です。 JDBC DMS API は、ページングを実装する 2 つのインターフェースを提供します。

Data Mediator Service (DMS) に提供されたメタデータがカスタマーを定 義し、またページ・サイズが 10 に設定された場合、先頭ページは最初の 10 のカスタマー DataObject を含む DataGraph です。 次のページは、次の 10 人のカスタマーを持つ別の DataGraph で、以下同様に続きます。

1 つ注意しなければならないことは、JDBC DMS はグラフのルートにページングを提供するということです。 つまり、戻された関連 DataObject の数には制限がありません。 例えば、DMS に提供されたメタデータが、カスタマーおよび関連したオーダーを定義する場合、ページされるのはカスタマーです。 ページ・サイズが 10 に設定されている場合、先頭ページは最初の 10 人の カスタマー、およびそれぞれのカスタマーの関連したすべてのオーダーを持つグラフです。

DMS が提供する、利用することが可能な 2 つのインターフェース、Pager および CountingPager があります。 Pager インターフェースは、カーソルのような next() メソッド機能を提供します。 next() 機能は、メディエーター・メタデータによって指定されるデータ・セット全体から、データの次のページを表すグラフを戻します。 また、移動する方向が逆方向であるだけで同じ機能を持つ previous() 機能が利用可能です。 CountingPager インターフェースによって、特定のページ番号を検査することが可能になります。 以下の例は、ルート・テーブルからページあたり最大 5 つの DataObject で、 CountingPager インターフェースを使用する、カスタマー・インスタンスのラージ・セットを介したページングを図示しています。

CountingPager pager = PagerFactory.soleInstance.createCountingPager(5);
int count = pager.pageCount(mediator);
for (int i = 1, i <= count, i++) {
DataObject graph = pager.page(i, mediator);
// Iterate through all returned customers in the
// current page.
Iterator iter = graph.getList("CUSTOMER").iterator();
 		while (iter.hasNext()) {
  DataObject cust = (DataObject) iter.next();
System.out.println(cust.getString("CUSTFIRS NAME"));
 }
}
先頭ページより前、または有効な最終ページより後に移動しようとすると、JDBC メディエーター例外が発生します。



関連概念
Java DataBase Connectivity Mediator Service
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 8:28:52 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rdat_sdopage.html