bboss永続層ページングインタフェースの使用例
bboss永続層ページングインタフェースは特徴的で、3種類のStyleのページングインタフェースを提供しています.
最初のStyleはsql文に基づいて直接ページを分けます.このスタイルはbbos 3.6.0と以前のバージョンでずっと使われていたインタフェースです.
2番目のStyleは、bbos 3.6.1以降のバージョンで提供されるインタフェースであるsql文と外部から送信された合計レコード数に基づいてページングされます.
3つ目のStyleは、bboss 3.6.1以降で提供されるインタフェースであるsql文と外部から送信された合計レコード数sql文に基づいてページングされます.
クエリー・パラメータの入力方法に基づいて、以下に3つのStyleを例に挙げて説明します.
1.準備作業-3種類のStyleを表示するためのsql文プロファイルを作成
QueryMaterialListはページングsql
queryCountMaterialListは合計レコード数sqlを調べる
2.ページング・クエリー・メソッドのサンプル・コード
例を挙げて、疑問があれば、伝言を残してさらに検討してください.
補足説明:ListInfoオブジェクトには、ページレコードセットと合計レコード数が含まれます.
最初のStyleはsql文に基づいて直接ページを分けます.このスタイルはbbos 3.6.0と以前のバージョンでずっと使われていたインタフェースです.
2番目のStyleは、bbos 3.6.1以降のバージョンで提供されるインタフェースであるsql文と外部から送信された合計レコード数に基づいてページングされます.
3つ目のStyleは、bboss 3.6.1以降で提供されるインタフェースであるsql文と外部から送信された合計レコード数sql文に基づいてページングされます.
クエリー・パラメータの入力方法に基づいて、以下に3つのStyleを例に挙げて説明します.
1.準備作業-3種類のStyleを表示するためのsql文プロファイルを作成
QueryMaterialListはページングsql
queryCountMaterialListは合計レコード数sqlを調べる
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<property name="queryMaterialList">
<![CDATA[
select * from td_app_bom where id=#[id]
]]>
</property>
<property name="queryCountMaterialList">
<![CDATA[
select count(1) from td_app_bom where id=#[id]
]]>
</property>
<property name="queryMaterialListbindParam">
<![CDATA[
select * from td_app_bom where id=?
]]>
</property>
<property name="queryCountMaterialListbindParam">
<![CDATA[
select count(1) from td_app_bom where id=?
]]>
</property>
</properties>
2.ページング・クエリー・メソッドのサンプル・コード
public class ApplyService {
private com.frameworkset.common.poolman.ConfigSQLExecutor executor = new ConfigSQLExecutor("com/frameworkset/sqlexecutor/purchaseApply.xml");
/******************************* bean *******************************/
public ListInfo queryMaterailListInfoFirstStyleBean(int offset, int pagesize ,PurchaseApplyCondition condition) throws Exception {
// ,queryMaterialList ,
// sql , ,
//condition
return executor.queryListInfoBean(HashMap.class, "queryMaterialList", offset, pagesize,condition);
}
public ListInfo queryMaterailListInfoSecondStyleBean(int offset, int pagesize ,PurchaseApplyCondition condition) throws Exception {
// totalSize ,queryCountMaterialList
//condition
long totalSize = executor.queryObjectBean(long.class, "queryCountMaterialList", condition);
// ,queryMaterialList , totalsize ,
// , , , , sql
//condition
return executor.queryListInfoBean(HashMap.class, "queryMaterialList", offset, pagesize,totalSize ,condition);
}
public ListInfo queryMaterailListInfoThirdStyleBean(int offset, int pagesize ,PurchaseApplyCondition condition) throws Exception {
// sql sql , , , sql
ListInfo list = executor.queryListInfoBeanWithDBName(HashMap.class, "bspf","queryMaterialList", 0, 10,"queryCountMaterialList" ,condition);
return list;
}
/******************************* bean *******************************/
/******************************* *******************************/
public ListInfo queryMaterailListInfoFirstStyle(int offset, int pagesize ,String id) throws Exception {
// ,queryMaterialList ,
// sql , ,
//id
return executor.queryListInfo(HashMap.class, "queryMaterialListbindParam", offset, pagesize,id);
}
public ListInfo queryMaterailListInfoSecondStyle(int offset, int pagesize ,String id) throws Exception {
// totalSize ,queryCountMaterialList
//id
long totalSize = executor.queryObject(long.class, "queryCountMaterialListbindParam",id);
// ,queryMaterialList , totalsize ,
// , , , , sql
//id
return executor.queryListInfoWithTotalsize(HashMap.class, "queryMaterialListbindParam", offset, pagesize,totalSize,id );
}
public ListInfo queryMaterailListInfoThirdStyle(int offset, int pagesize ,String id) throws Exception {
// sql sql , , , sql,id
ListInfo list = executor.queryListInfoWithDBName2ndTotalsizesql(HashMap.class, "bspf","queryMaterialListbindParam", 0, 10,"queryCountMaterialListbindParam",id );
return list;
}
/******************************* *******************************/
}
例を挙げて、疑問があれば、伝言を残してさらに検討してください.
補足説明:ListInfoオブジェクトには、ページレコードセットと合計レコード数が含まれます.