婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle使用MyBatis中RowBounds實現分頁查詢功能

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

熱門標簽:汽車4s店百度地圖標注店 網貸外呼系統合法嗎 手機地圖標注門店 安陽企業電銷機器人供應商 鶴壁電話機器人價格 電銷套路機器人 杭州網絡外呼系統運營商 地圖標注坐標圖標 地圖標注效果的制作

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 MapString, Object> queryUserList(String currentPage, String pageSize) {
    //查詢數據總條數
    int total = userDao.queryCountUser();
    //返回結果集
    MapString,Object> resultMap = new HashMapString,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));
    //用戶數據集合
    ListMapString, 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 ListMapString, 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實現分頁查詢功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • mybatis中查詢結果為空時不同返回類型對應返回值問題
  • 結合mybatis-plus實現簡單不需要寫sql的多表查詢
  • mybatis 實現 SQL 查詢攔截修改詳解
  • 詳解MyBatis模糊查詢LIKE的三種方式
  • MyBatis帶參查詢的方法詳解

標簽:河源 焦作 南陽 銀川 泰安 梧州 柳州 酒泉

巨人網絡通訊聲明:本文標題《Oracle使用MyBatis中RowBounds實現分頁查詢功能》,本文關鍵詞  Oracle,使用,MyBatis,中,RowBounds,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle使用MyBatis中RowBounds實現分頁查詢功能》相關的同類信息!
  • 本頁收集關于Oracle使用MyBatis中RowBounds實現分頁查詢功能的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 兴安县| 廊坊市| 花莲市| 德江县| 兰西县| 东台市| 彩票| 武胜县| 塔河县| 清新县| 雅安市| 罗定市| 金门县| 台湾省| 元朗区| 景宁| 九龙坡区| 阿城市| 隆回县| 两当县| 丘北县| 舒城县| 霍林郭勒市| 金寨县| 松江区| 宜兰县| 玛沁县| 雷山县| 青浦区| 文化| 微山县| 黑山县| 大姚县| 安塞县| 明水县| 平乐县| 清苑县| 磐安县| 巴东县| 连城县| 柳河县|