public boolean getMissionSendListSplitBySearch(Page page,
MissionSendSearch missionsendsearch) {
ArrayList arraylist;
int i;
int j;
StringBuffer stringbuffer1;
StringBuffer stringbuffer2;
CommonDAO commondao;
arraylist = new ArrayList();
i = 0;
j = 0;
if (page == null)
return false;
if (page.getPageSize() <= 0)
page.setPageSize(10);
if (page.getPageNo() <= 0)
page.setPageNo(1);
i = page.getPageSize();
j = page.getPageNo();
StringBuffer stringbuffer = getSqlwherBySearch(missionsendsearch);
String s = getOrderSqlBySearch(missionsendsearch);
stringbuffer1 = new StringBuffer(" select * from " + tableName
+ " where 1=1 " + stringbuffer + " " + s);
stringbuffer2 = new StringBuffer("select count(*) from " + tableName
+ " where 1=1 " + stringbuffer);
logger.warn("---sql:getMissionSendListSplit---" + stringbuffer1);
logger.warn("---countSql:getMissionSendListSplit---" + stringbuffer2);
commondao = null;
try {
commondao = new CommonDAO(jndi);
rowNum = PageDiv.getCount(stringbuffer2.toString(), commondao);
page.setPageInfo(rowNum, i);
ResultSet resultset = PageDiv.getResultSet(j, i, rowNum, stringbuffer1
.toString(), commondao);
for (int k = 0; k < i && resultset.next(); k++)
arraylist.add(readDataFromRs(resultset));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{ commondao.destroy();
}
page.setList(arraylist);
return true;
}在for循环里readDataFromRs()方法
private MissionSend readDataFromRs(ResultSet resultset) throws SQLException {
MissionSend missionsend = new MissionSend();
UserMgr usermgr = new UserMgr();
WorkPlanInfoMgr workplaninfomgr = new WorkPlanInfoMgr();
WorkPlanInfo workplaninfo = new WorkPlanInfo();
Object obj = null;
//引去一些
return missionsend;
}
这里的usermgr 和workplaninfomgr 都会再次连接数据库问:怎么写一开始getMissionSendListSplitBySearch()方法,让它只连接一次数据库?
MissionSendSearch missionsendsearch) {
ArrayList arraylist;
int i;
int j;
StringBuffer stringbuffer1;
StringBuffer stringbuffer2;
CommonDAO commondao;
arraylist = new ArrayList();
i = 0;
j = 0;
if (page == null)
return false;
if (page.getPageSize() <= 0)
page.setPageSize(10);
if (page.getPageNo() <= 0)
page.setPageNo(1);
i = page.getPageSize();
j = page.getPageNo();
StringBuffer stringbuffer = getSqlwherBySearch(missionsendsearch);
String s = getOrderSqlBySearch(missionsendsearch);
stringbuffer1 = new StringBuffer(" select * from " + tableName
+ " where 1=1 " + stringbuffer + " " + s);
stringbuffer2 = new StringBuffer("select count(*) from " + tableName
+ " where 1=1 " + stringbuffer);
logger.warn("---sql:getMissionSendListSplit---" + stringbuffer1);
logger.warn("---countSql:getMissionSendListSplit---" + stringbuffer2);
commondao = null;
try {
commondao = new CommonDAO(jndi);
rowNum = PageDiv.getCount(stringbuffer2.toString(), commondao);
page.setPageInfo(rowNum, i);
ResultSet resultset = PageDiv.getResultSet(j, i, rowNum, stringbuffer1
.toString(), commondao);
for (int k = 0; k < i && resultset.next(); k++)
arraylist.add(readDataFromRs(resultset));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{ commondao.destroy();
}
page.setList(arraylist);
return true;
}在for循环里readDataFromRs()方法
private MissionSend readDataFromRs(ResultSet resultset) throws SQLException {
MissionSend missionsend = new MissionSend();
UserMgr usermgr = new UserMgr();
WorkPlanInfoMgr workplaninfomgr = new WorkPlanInfoMgr();
WorkPlanInfo workplaninfo = new WorkPlanInfo();
Object obj = null;
//引去一些
return missionsend;
}
这里的usermgr 和workplaninfomgr 都会再次连接数据库问:怎么写一开始getMissionSendListSplitBySearch()方法,让它只连接一次数据库?
解决方案 »
- 像java那样使用javascript调用java
- 求助:js判空后,仍然提交表单
- 在tomcat的filter中如何修改重定向Response中的目的URL
- 如何在JSP页面上显示ee这个String变量啊?
- 十万火急的jsp标准动作问题 动态设定jsp include page的值,简单思路就是不知道怎么实现 实现了就加最高的分
- URL传值乱码问题!
- 100 再次请教这个问题,非把他搞明白
- 文件下载Excel怎么不正常呀?
- 请问采用structs开发的网站,网页能不能用dreamweaver或frontpage等软件来做
- Struts2标签<s:param>参数问题?
- java中关于枚举的用法
- 求助JSP连接SQL2005报错
commondao = new CommonDAO(jndi);
rowNum = PageDiv.getCount(stringbuffer2.toString(), commondao);
page.setPageInfo(rowNum, i);
ResultSet resultset = PageDiv.getResultSet(j, i, rowNum, stringbuffer1
.toString(), commondao);
连接数据库可能在commondao里面,把连接改为单例或静态变量