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()方法,让它只连接一次数据库?