| Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 - |
目次
索引
![]()
|
| 第2部 APIでのアプリケーション開発 | > 第9章 Java APIのアプリケーション開発 | > 9.3 Java APIの使用方法 | > 9.3.2 データの検索 |
条件に一致するデータを取り出す前に、件数のみ取得したい場合があります。
このような場合、setRequestメソッドの返信要求件数(requestCount)に0を指定し、件数のみを取得します。
条件に一致するXML文書の件数を取得する場合の流れについて、以下の図に示します。

ShunConnection con = new ShunConnection();
String queryExpression = "/document/base/prefecture == '大阪'";
String returnExpression = "/";
ShunPreparedStatement pstmt = con.prepareSearch(queryExpression, returnExpression); (1)
pstmt.setRequest(1,0); (2)
ShunResultSet rs = pstmt.executeSearch(); (3)
System.out.println("[ヒット件数] = " + rs.getHitCount()); (4)
rs.close(); (5)
pstmt.close(); (5)
con.close(); |
ShunPreparedStatementオブジェクトは、prepareSearchメソッドのパラメタに検索式とリターン式を指定して作成します。
検索式およびリターン式の詳細は、“付録B 検索式、リターン式およびソート式の書式”を参照してください。
setRequestメソッドに返信開始番号と返信要求件数を指定します。返信要求件数に0を指定して、件数のみ取得します。
検索の実行はexecuteSearchメソッドを使用します。検索した結果としてShunResultSetオブジェクトが作成されます。
getHitCountメソッドで、検索条件に一致するXML文書の件数を取得します。
ShunResultSetオブジェクトとShunPreparedStatementオブジェクトは、使用後にそれぞれのcloseメソッドで必ず解放します。
以下に、Apworksの対話形式のウィザードで作成されたShunsakuアクセスクラスを使ったビジネスクラスの記述例と、ビジネスクラスで使用しているShunsakuアクセスクラスのひな形を示します。
ShunConnection con = new ShunConnection(); ShunsakuAccessController controller = new ShunsakuAccessController(con); controller.search(key); int hitCount = controller.getHitCount(); controller.close(); con.close(); |
public class ShunsakuAccessController {
:
private ShunPreparedStatement pstmt;
:
} |
public void search(java.lang.String keys) throws ShunException {
:
queryString = "/document/base/prefecture == ' " + keys + "'"; (a)
returnString = "/"; (b)
:
getPreparedStatement(queryString, returnString);
:
}
private void getPreparedStatement(String queryString, String returnString) {
:
pstmt = con.preparedSearch(queryString, returnString); (1)
:
} |
public int getHitCount() throws ShunException {
:
resultSet = getResultSet(ShunsakuAccessController.SORT_NONE, 1, 0);
:
hitCount = resultSet.getHitCount(); (4)
:
resultSet.close(); (5)
}
public ShunResultSet getResultSet(String sortString, int position, int requestCount)
throws ShunException {
:
pstmt.setRequest(position, requestCount); (2)
:
return pstmt.executeSearch(); (3)
} |
public void close() throws ShunException {
:
pstmt.close(); (5)
:
} |
目次
索引
![]()
|