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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java实现cs架构_cs模型人物看不见

    java实现cs架构_cs模型人物看不见Java网络编程案例–CS模型的简单实现Java网络编程案例CS模型的简单实现基本概述程序原理图源代码基本概述该程序采用C/S模型,在服务器端简单的建立了一个多线程类,来实现对多个客户端传入的数据进行处理。在客户端行处理类,对数据进行一次解析,再调用各个发送类进行处理。采用固定的命令格式,字符编码格式以及字节流,实现了消息发送,二进制文件和文本文件传送,下载文件的功能。程序原理图源代码:J

    2022年9月16日
    1
  • python语言func_python中func什么意思[通俗易懂]

    python语言func_python中func什么意思[通俗易懂]python中的func表示自定义的函数,func只是一个函数名,它的名字不是固定不变的,自定义的函数的参数包括无参数,也可以根据函数动能传递必备参数、位置参数以及关键字参数等。小白在学习python的时候,都会遇到func,一脸蒙!是什么意思呢?在python中,func表示的自定义函数。python中的函数分为内置函数和自定义函数,内置函数是python本身自带的,func函数是人为定义的。f…

    2025年7月13日
    1
  • Idea激活码最新教程2021.2.3版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2021.2.3版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2021 2 3 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2021 2 3 成功激活

    2025年5月22日
    3
  • [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)

    [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)

    2022年1月13日
    45
  • being搜索引擎用户体验[通俗易懂]

    being搜索引擎用户体验[通俗易懂]being的搜索引擎带有的自动区别全英(汉)来呈现不同内容的结果,使用户能更快找到需要的结果。它的取词翻译可以很快的使用户得到想要的讯息。但是它的取词翻译有很多地方有一些多余,如myusou

    2022年7月1日
    51
  • IDEA2021.1 安装教程

    IDEA2021.1 安装教程工欲善其事必先利其器。一、下载IDEA官方下载地址:https://www.jetbrains.com/zh-cn/idea/download/二、安装IDEA注:安装IDEA之前需要我们机器上有JDK环境!!!双击打开安装即可:三、IDEA快速入门双击打开IntelliJIDEA2021.1.1×64:1、使用IDEA创建一个普通javase项目。2、使用IDEA创建一个maven项目。.

    2022年6月15日
    169

发表回复

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

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