bboss项目下载列表 在sourceforge访问地址为:
https://sourceforge.net/project/showfiles.php?group_id=238653
本介绍通过bboss persistent框架实现高效的分页查询操作,本框架提供的分页查询接口可以分为预编译分页查询和普通分页查询接口。分别介绍如下。
1.准备工作
定义表结构testnewface:
名称
-----------------------------------------是否为空? 类型 ---------- -------- --------------
OWNER NOT NULL VARCHAR2(30)
OBJECT_NAME NOT NULL VARCHAR2(30)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NOT NULL NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED NOT NULL DATE
LAST_DDL_TIME NOT NULL DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
定义java值对象,属性名称与testnewface表的列名一致:
public class TestNewface {
String OWNER ;
String OBJECT_NAME ;
String SUBOBJECT_NAME ;
int OBJECT_ID ;
int DATA_OBJECT_ID ;
String OBJECT_TYPE ;
Date CREATED ;
Date LAST_DDL_TIME ;
String TIMESTAMP ;
String STATUS ;
String TEMPORARY ;
String GENERATED ;
String SECONDARY ;
public String getOWNER() {
return OWNER;
}
public void setOWNER(String owner) {
OWNER = owner;
}
public String getOBJECT_NAME() {
return OBJECT_NAME;
}
public void setOBJECT_NAME(String object_name) {
OBJECT_NAME = object_name;
}
public String getSUBOBJECT_NAME() {
return SUBOBJECT_NAME;
}
public void setSUBOBJECT_NAME(String subobject_name) {
SUBOBJECT_NAME = subobject_name;
}
public int getOBJECT_ID() {
return OBJECT_ID;
}
public void setOBJECT_ID(int object_id) {
OBJECT_ID = object_id;
}
public int getDATA_OBJECT_ID() {
return DATA_OBJECT_ID;
}
public void setDATA_OBJECT_ID(int data_object_id) {
DATA_OBJECT_ID = data_object_id;
}
public String getOBJECT_TYPE() {
return OBJECT_TYPE;
}
public void setOBJECT_TYPE(String object_type) {
OBJECT_TYPE = object_type;
}
public Date getCREATED() {
return CREATED;
}
public void setCREATED(Date created) {
CREATED = created;
}
public Date getLAST_DDL_TIME() {
return LAST_DDL_TIME;
}
public void setLAST_DDL_TIME(Date last_ddl_time) {
LAST_DDL_TIME = last_ddl_time;
}
public String getTIMESTAMP() {
return TIMESTAMP;
}
public void setTIMESTAMP(String timestamp) {
TIMESTAMP = timestamp;
}
public String getSTATUS() {
return STATUS;
}
public void setSTATUS(String status) {
STATUS = status;
}
public String getTEMPORARY() {
return TEMPORARY;
}
public void setTEMPORARY(String temporary) {
TEMPORARY = temporary;
}
public String getGENERATED() {
return GENERATED;
}
public void setGENERATED(String generated) {
GENERATED = generated;
}
public String getSECONDARY() {
return SECONDARY;
}
public void setSECONDARY(String secondary) {
SECONDARY = secondary;
}
public String toString()
{
StringBuffer ret = new StringBuffer();
ret.append("[OWNER=").append(OWNER).append("]")
.append("[OBJECT_NAME=").append(OBJECT_NAME).append("]")
.append("[SUBOBJECT_NAME=").append(SUBOBJECT_NAME).append("]")
.append("[OBJECT_ID=").append(OBJECT_ID).append("]")
.append("[DATA_OBJECT_ID=").append(DATA_OBJECT_ID).append("]")
.append("[OBJECT_TYPE=").append(OBJECT_TYPE).append("]")
.append("[CREATED=").append(CREATED).append("]")
.append("[LAST_DDL_TIME=").append(LAST_DDL_TIME).append("]")
.append("[TIMESTAMP=").append(TIMESTAMP).append("]")
.append("[STATUS=").append(STATUS).append("]")
.append("[TEMPORARY=").append(TEMPORARY).append("]")
.append("[GENERATED=").append(GENERATED).append("]")
.append("[SECONDARY=").append(SECONDARY).append("]");
return ret.toString();
}
}
2.普通分页查询:
{
DBUtil dbUtil = new DBUtil();
try {
List list = dbUtil.executeSelectForList("select * from testnewface where object_id",
0,//offset分页数据的起点
100, //每页最多取100条
TestNewface.class);
//list中存放当前页面的TestNewface对象列表,从0开始,每页取100条,第二页的数据从将从100开始。
for(int i = 0;
i < list.size();//当前页面的数据条数
i ++)
{
System.out.println(list.get(i));
}
int totalsize = dbUtil.getTotalSize();//总记录数
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3.预编译分页查询
PreparedDBUtil dbUtil = new PreparedDBUtil();
try {
dbUtil.preparedSelect("select * from testnewface where object_id < ?",
0,//offset分页数据的起点
100 //每页最多取100条
);
dbUtil.setInt(1, 100000);
List list = dbUtil.executePreparedForList(TestNewface.class);
//list中存放当前页面的TestNewface对象列表,从0开始,每页取100条,第二页的数据从将从100开始。
for(int i = 0;
i < list.size();//当前页面的数据条数
i ++)
{
System.out.println(list.get(i));
}
int totalsize = dbUtil.getTotalSize();//总记录数
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}