ibatis分頁的兩種方式


方式一:

調用它的分頁方法:List result = sqlMapClient.queryForList(id, parameterObject, skip, max);

方式二:

利用不同數據庫的特點,把分頁的條件作為參數傳進去,在SQL語句處拼接。如MYSQL數據庫可以使用它的limit函數。

比較:方式二比較通用,只需調用相同的方法,即可實現分頁或者不分頁,此時分頁的參數只是做為普通的參數。

         方式一比較簡單,在SQL語句處無需關注分頁的問題,ibatis會自動幫你分頁(因為你調用了它的分頁方法)。

示例代碼:

方式一的代碼:

Map parameterObject= new HashMap();
String  sql="address.getAddressList";

int skip=0;

int max=25

List result = sqlMapClient.queryForList(sql, parameterObject, skip, max);

  <select id="getAddressList" parameterClass="java.util.HashMap" resultClass="last.soul.common.beans.Address">
    select id, username, name, sex, mobile, email, qq, company, address, postcode
    from address
  </select>


方式二的代碼:

 Map parameterObject= new HashMap();
 parameterObject.put("orderByClause", "username asc");
 parameterObject.put("limimitClauseStart", startIndex);
 parameterObject.put("litClauseCount", pageSize);
 String  sql="address.getAddressList";

List result = sqlMapClient.queryForList(sql, parameterObject);

<select id="getAddressList" parameterClass="java.util.HashMap" resultClass="last.soul.common.beans.Address">
    select id, username, name, sex, mobile, email, qq, company, address, postcode
    from address
    <isParameterPresent>
      <isNotNull property="orderByClause">
        order by $orderByClause$
      </isNotNull>
      <isNotNull property="limitClauseStart">
        limit $limitClauseStart$, $limitClauseCount$
      </isNotNull>
    </isParameterPresent>
  </select>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM