国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

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

2020-07-26 13:58:18
字體:
來源:轉載
供稿:網友

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 mapperPUBLIC "-//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實現分頁查詢功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 襄城县| 阿克陶县| 溆浦县| 鄂托克前旗| 宁明县| 沂南县| 三明市| 临邑县| 诸城市| 盐源县| 富阳市| 新巴尔虎左旗| 孝昌县| 毕节市| 嘉禾县| 休宁县| 柳江县| 武夷山市| 双柏县| 长葛市| 霍林郭勒市| 灵寿县| 伊宁县| 长葛市| 永平县| 赤峰市| 萍乡市| 江西省| 清水河县| 蒲江县| 屏山县| 确山县| 霍州市| 且末县| 吉木萨尔县| 兴海县| 子长县| 东台市| 花垣县| 汨罗市| 休宁县|