可以考虑用javabean实现一个view和一个databean类
public class ListView
{
String tableName;//表名
int pageSize//每页的条数
int index//第几页
HashMap data//存放 pageSize个记录。
public void put(DataBean d)
{
if(data==null)
data=new Hashmap();
data.put(d);
}
/........
}
public class DataBean
{
public void setXXXX()
public String getXXX()
//记录中有多少个列就写多少个set/get方法
}
这样做有一个缺点,加入第一页从table1得到,第二页table1只有2条记录,其余的要从table2得到。
可以考虑的一个解决方案是首先一次从总表中把表名一次取出,放在一个List中,实现排序
以后写sql是就可以这样
List list=//???获得表名
ListView v=new ListView();
String sql="select * from ";
for(int i=0;i<list.size();i++)
{
sql+=list.get(i).toString();
for(int j=pageSize*index;j<(pageSize*index+1);j++)
{
DataBean data=new DataBean();
set=//executeQuery(sql);
data.setXXX(set.getXXX(XXXX));
////
v.put(data);
}
}
至于setAttribute的问题,只要set的值不是null,对效率不会影响太大,但是大小最好不要超过10M.
public class ListView
{
String tableName;//表名
int pageSize//每页的条数
int index//第几页
HashMap data//存放 pageSize个记录。
public void put(DataBean d)
{
if(data==null)
data=new Hashmap();
data.put(d);
}
/........
}
public class DataBean
{
public void setXXXX()
public String getXXX()
//记录中有多少个列就写多少个set/get方法
}
这样做有一个缺点,加入第一页从table1得到,第二页table1只有2条记录,其余的要从table2得到。
可以考虑的一个解决方案是首先一次从总表中把表名一次取出,放在一个List中,实现排序
以后写sql是就可以这样
List list=//???获得表名
ListView v=new ListView();
String sql="select * from ";
for(int i=0;i<list.size();i++)
{
sql+=list.get(i).toString();
for(int j=pageSize*index;j<(pageSize*index+1);j++)
{
DataBean data=new DataBean();
set=//executeQuery(sql);
data.setXXX(set.getXXX(XXXX));
////
v.put(data);
}
}
至于setAttribute的问题,只要set的值不是null,对效率不会影响太大,但是大小最好不要超过10M.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货