91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle使用MyBatis中RowBounds實現分頁查詢功能

發布時間:2020-10-22 20:48:01 來源:腳本之家 閱讀:120 作者:丘壑山河 欄目:數據庫

Oracle中分頁查詢因為存在偽列rownum,sql語句寫起來較為復雜,現在介紹一種通過使用MyBatis中的RowBounds進行分頁查詢,非常方便。

使用MyBatis中的RowBounds進行分頁查詢時,不需要在 sql 語句中寫 offset,limit,mybatis 會自動拼接 分頁sql ,添加 offset,limit,實現自動分頁。

需要前臺傳遞參數currentPage和pageSize兩個參數,分別是當前頁和每頁數量,controller層把參數傳遞給service層即可,下面是service實現的代碼:

package com.xyfer.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.RowBounds;
import com.xyfer.dao.UserDao;
import com.xyfer.service.UserService;
public class UserServiceImpl implements UserService {
  private UserDao userDao;
  @Override
  public Map<String, Object> queryUserList(String currentPage, String pageSize) {
    //查詢數據總條數
    int total = userDao.queryCountUser();
    //返回結果集
    Map<String,Object> resultMap = new HashMap<String,Object>();
    resultMap.put("total", total);
    //總頁數
    int totalpage = (total + Integer.parseInt(pageSize) - 1) / Integer.parseInt(pageSize);
    resultMap.put("totalpage", totalpage);
    //數據的起始行
    int offset = (Integer.parseInt(currentPage)-1)*Integer.parseInt(pageSize);
    RowBounds rowbounds = new RowBounds(offset, Integer.parseInt(pageSize));
    //用戶數據集合
    List<Map<String, Object>> userList = userDao.queryUserList(rowbounds);
    resultMap.put("userList", userList);
    return resultMap;
  }
}

dao層接口:

package com.xyfer.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.session.RowBounds;
public interface UserDao {
  public int queryCountUser();    //查詢用戶總數
  public List<Map<String, Object>> queryUserList(RowBounds rowbounds);  //查詢用戶列表
}

對應的mapper.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xyfer.mapper.UserMapper">
  <!-- 查詢用戶總數 -->
  <select id="queryCountUser" resultType="java.lang.Integer">
    select count(1) from user
  </select>
  <!-- 查詢用戶列表 -->
  <select id="queryUserList" resultType="java.util.Map">
    select * from user
  </select>
</mapper>

通過postman調用接口,傳入對應的參數,即可實現分頁查詢數據。

總結

以上所述是小編給大家介紹的Oracle使用MyBatis中RowBounds實現分頁查詢功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇东市| 宿迁市| 尉氏县| 凭祥市| 乐平市| 安乡县| 海兴县| 瑞安市| 林芝县| 莒南县| 旬邑县| 无锡市| 大理市| 吴江市| 靖远县| 溆浦县| 太保市| 固安县| 万年县| 衡东县| 八宿县| 福贡县| 静宁县| 贡嘎县| 府谷县| 惠来县| 衡山县| 常熟市| 沧源| 自治县| 措勤县| 鲁山县| 临漳县| 桃园市| 沈丘县| 尤溪县| 额敏县| 宁国市| 昭苏县| 聊城市| 神农架林区|