1. 程式人生 > >ibatis 實現分頁查詢 簡單粗暴

ibatis 實現分頁查詢 簡單粗暴

public String getCountQuery() {            return "Cowboys.count";      } /**       * 分頁查詢記錄       *       * @param statementName       * @param pageRequest       * @return       */      protected Page pageQuery(String statementName, PageRequest pageRequest) {            //符合條件的總記錄數            Number totalCount = (Number) this.getSqlMapClientTemplate().queryForObject(getCountQuery(),                      pageRequest.getFilters());            //分頁物件            Page page = new Page(pageRequest, totalCount.intValue());            // 與getSqlMapClientTemplate().queryForList(statementName,            // parameterObject)配合使用            Map otherFilters = new HashMap();            //頁起始記錄數            otherFilters.put("offset", page.getFirstResult());            //分頁大小            otherFilters.put("pageSize", page.getPageSize());            //頁結束記錄數            otherFilters.put("lastRows", page.getFirstResult() + page.getPageSize());            //排序資訊            otherFilters.put("sortColumns", pageRequest.getSortColumns());            // 混合兩個filters為一個filters,MapAndObject.get()方法將在兩個物件取值,Map如果取值為null,則再在Bean中取值            Map parameterObject = new MapAndObject(otherFilters, pageRequest.getFilters());            //分頁查詢            List list = getSqlMapClientTemplate().queryForList(statementName, parameterObject, page.getFirstResult(),                      page.getPageSize());            page.setResult(list);            return page;      }      /**       * 根據頁面查詢條件,取得 WalletMchtInfoReg 表的分頁資訊.       * @param pageRequest 頁面請求引數       * @return WalletMchtInfoReg 表的分頁資訊       */      public Page findByPageRequest(PageRequest pageRequest) {            return pageQuery("Cowboys.pageSelect", pageRequest);      }