最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle使用MyBatis中RowBounds實(shí)現(xiàn)分頁(yè)查詢(xún)功能

 更新時(shí)間:2019年07月19日 10:35:50   作者:丘壑山河  
這篇文章主要介紹了Oracle使用MyBatis中RowBounds實(shí)現(xiàn)分頁(yè)查詢(xún) ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

Oracle中分頁(yè)查詢(xún)因?yàn)榇嬖趥瘟衦ownum,sql語(yǔ)句寫(xiě)起來(lái)較為復(fù)雜,現(xiàn)在介紹一種通過(guò)使用MyBatis中的RowBounds進(jìn)行分頁(yè)查詢(xún),非常方便。

使用MyBatis中的RowBounds進(jìn)行分頁(yè)查詢(xún)時(shí),不需要在 sql 語(yǔ)句中寫(xiě) offset,limit,mybatis 會(huì)自動(dòng)拼接 分頁(yè)sql ,添加 offset,limit,實(shí)現(xiàn)自動(dòng)分頁(yè)。

需要前臺(tái)傳遞參數(shù)currentPage和pageSize兩個(gè)參數(shù),分別是當(dāng)前頁(yè)和每頁(yè)數(shù)量,controller層把參數(shù)傳遞給service層即可,下面是service實(shí)現(xiàn)的代碼:

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) {
    //查詢(xún)數(shù)據(jù)總條數(shù)
    int total = userDao.queryCountUser();
    //返回結(jié)果集
    Map<String,Object> resultMap = new HashMap<String,Object>();
    resultMap.put("total", total);
    //總頁(yè)數(shù)
    int totalpage = (total + Integer.parseInt(pageSize) - 1) / Integer.parseInt(pageSize);
    resultMap.put("totalpage", totalpage);
    //數(shù)據(jù)的起始行
    int offset = (Integer.parseInt(currentPage)-1)*Integer.parseInt(pageSize);
    RowBounds rowbounds = new RowBounds(offset, Integer.parseInt(pageSize));
    //用戶(hù)數(shù)據(jù)集合
    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();    //查詢(xún)用戶(hù)總數(shù)
  public List<Map<String, Object>> queryUserList(RowBounds rowbounds);  //查詢(xún)用戶(hù)列表
}

對(duì)應(yīng)的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">
  <!-- 查詢(xún)用戶(hù)總數(shù) -->
  <select id="queryCountUser" resultType="java.lang.Integer">
    select count(1) from user
  </select>
  <!-- 查詢(xún)用戶(hù)列表 -->
  <select id="queryUserList" resultType="java.util.Map">
    select * from user
  </select>
</mapper>

通過(guò)postman調(diào)用接口,傳入對(duì)應(yīng)的參數(shù),即可實(shí)現(xiàn)分頁(yè)查詢(xún)數(shù)據(jù)。

總結(jié)

以上所述是小編給大家介紹的Oracle使用MyBatis中RowBounds實(shí)現(xiàn)分頁(yè)查詢(xún)功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論

潼南县| 东兴市| 大渡口区| 正安县| 礼泉县| 慈溪市| 崇阳县| 兴化市| 仙居县| 交口县| 太白县| 进贤县| 巴林右旗| 申扎县| 江阴市| 平江县| 华池县| 望都县| 诸暨市| 吉林省| 娄烦县| 筠连县| 天台县| 吐鲁番市| 汪清县| 西峡县| 迭部县| 青浦区| 安化县| 达孜县| 卢氏县| 团风县| 新津县| 博白县| 南陵县| 通化市| 道真| 莒南县| 西乌| 邓州市| 尼勒克县|