mybatis oracle 分页查询_oracle分页查询出现重复的问题

mybatis oracle 分页查询_oracle分页查询出现重复的问题Oracle中分页查询因为存在伪列rownum,sql语句写起来较为复杂,现在介绍一种通过使用MyBatis中的RowBounds进行分页查询,非常方便。使用MyBatis中的RowBounds进行分页查询时,不需要在sql语句中写offset,limit,mybatis会自动拼接分页sql,添加offset,limit,实现自动分页。需要前台传递参数currentPage和page…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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 queryUserList(String currentPage, String pageSize) {

//查询数据总条数

int total = userDao.queryCountUser();

//返回结果集

Map resultMap = new HashMap();

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> 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> queryUserList(RowBounds rowbounds); //查询用户列表

}

对应的mapper.xml文件:

/p>

PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN”

“http://mybatis.org/dtd/mybatis-3-mapper.dtd”>

select count(1) from user

select * from user

通过postman调用接口,传入对应的参数,即可实现分页查询数据。

总结

以上所述是小编给大家介绍的Oracle使用MyBatis中RowBounds实现分页查询功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-07-17

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190756.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月14日 下午4:43
下一篇 2026年2月14日 下午5:15


相关推荐

  • PCM设备是做什么的? PCM作用是什么?

    PCM设备是做什么的? PCM作用是什么?PCM 可以提供用户从 2M 到 155M 速率的数字数据专线业务 也可以提供话音 图象传送 远程教学等其他业务 那么 PCM 设备是做什么的 PCM 作用是什么 接下来我们就跟随飞畅科技的小编一起来看看吧 PCM 的含义 1 PCM PulseCodeMod 的缩写 即是 脉冲编码调制 2 脉冲编码调制的作用 将模拟的信号经过抽样 量化 编码转化成标准的数字信号 PCM 设备的作用 1 将低速业务转换成数字信号 并装入 64kbit s 通道 2 将 30 路 64kbit s 通道复接成 2M

    2026年3月17日
    2
  • FinalShell简单的使用

    FinalShell简单的使用今天真的是很丧的一天,早上来到公司写了一会代码,需要用xshell时发现,以前都能打开的xshell突然出问题了。如下截图…于是想着重启看看。我的天,重启之后,网卡没了,接着就是死活连不上网,不管设置什么都连接不上网,驱动也装不上去,反正就是十八般武艺全用上了(博主可能比较菜),都没作用,于是请人,反正弄了半天,给我放个大招,重装系统 。重装系统肯定就好了,可是环境都没了,开始一点…

    2022年6月13日
    85
  • 给Android程序员的一些面试建议「建议收藏」

    给Android程序员的一些面试建议「建议收藏」前言应大家的邀请,写一篇关于Android面试相关的博客,需要说明的是本文只针对Android应用开发,不针对rom开发以及逆向工程。我想面试对于程序员来说是很重要的一件事件,面试结果的好坏直接决定了能否进入某个公司以及以什么级别和待遇进入某个公司。我参加面试的经验并不多,但是以面试官的身份面试别人倒是有很多次,所以我可以结合这些经验来介绍下如何更好地把握一个面试。什么是合适的候选者在介绍如何面试之

    2022年6月14日
    167
  • 2022年美赛A题思路分析[通俗易懂]

    2022年美赛A题思路分析[通俗易懂]2022美赛A题

    2022年5月11日
    43
  • sqlserver嵌套查询注意_if函数最多可以有几层嵌套

    sqlserver嵌套查询注意_if函数最多可以有几层嵌套MySQL、SparkSQL嵌套查询(二层、三层、多层)

    2022年8月10日
    9
  • java logbook_SpringBoot使用Logbook记录HTTP请求响应日志

    java logbook_SpringBoot使用Logbook记录HTTP请求响应日志SpringBoot的httptrace端口能够记录每次访问的请求和响应信息,但是不能记录body,这样在出问题时就不方便排查,而且httptrace不方便在原有的基础上进行扩展,所以只能寻求其他方式进行记录。Logbook是一个可扩展的Java库,可以为不同的客户端和服务端技术提供完整的请求和响应日志记录。它能够满足一些特殊的需求:允许web应用记录程序接收或发送的所有HTTP通信易于保留和进…

    2025年8月13日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号