分页查询_慧慧的小可爱的博客-程序员秘密

分页查询

简介:分页查询的传递值以及返回值需要进行封装
1.封装查询条件

import java.io.Serializable;

/**
 * 封装查询条件
 */
public class QueryPageBean implements Serializable{
    
    private Integer currentPage;//页码
    private Integer pageSize;//每页记录数
    private String queryString;//查询条件

    public Integer getCurrentPage() {
    
        return currentPage;
    }

    public void setCurrentPage(Integer currentPage) {
    
        this.currentPage = currentPage;
    }

    public Integer getPageSize() {
    
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
    
        this.pageSize = pageSize;
    }

    public String getQueryString() {
    
        return queryString;
    }

    public void setQueryString(String queryString) {
    
        this.queryString = queryString;
    }
}

2.分页结果封装对象

import java.io.Serializable;
import java.util.List;

/**
 * 分页结果封装对象
 */
public class PageResult implements Serializable{
    
    private Long total;//总记录数
    private List rows;//当前页结果
    public PageResult(Long total,List rows) {
    
        super();
        this.total = total;
        this.rows = rows;
    }
    public Long getTotal() {
    
        return total;
    }
    public void setTotal(Long total) {
    
        this.total = total;
    }
    public List getRows() {
    
        return rows;
    }
    public void setRows(List rows) {
    
        this.rows = rows;
    }
}

UI页面
查询输入框

<el-button @click="_findPage()" class="dalfBut">查询</el-button>

分页条代码

<div class="pagination-container">
	<el-pagination
		class="pagiantion"
        @current-change="handleCurrentChange"
        :current-page="pagination.currentPage"
        :page-size="pagination.pageSize"
        layout="total, prev, pager, next, jumper"
        :total="pagination.total">
	</el-pagination>
</div>

Vue

 var vue = new Vue({
    
        el: '#***',
        data: {
    
            pagination: {
    //分页相关属性
                currentPage: 1,
                pageSize: 4,
                total: 100,
                queryString: null,
            },
            dataList: [],//列表数据
        },
        created() {
    
            this.findPage();
        },
        methods: {
    
        	//分页查询
        	//查询按钮访问第一页
         	_findPage() {
    
                this.pagination.currentPage = 1;
                this.findPage()
            },
            findPage() {
    
                var param = {
    
                    currentPage: this.pagination.currentPage,
                    pageSize: this.pagination.pageSize,
                    queryString: this.pagination.queryString
                };
                axios.post("/****/findPage.do", param).then((res) => {
    
                    this.pagination.total = res.data.total;
                    this.dataList = res.data.rows
                })
            },
            //切换页码
            handleCurrentChange(currentPage) {
    
                this.pagination.currentPage = currentPage;
                this.findPage();
            }
        }
    })

三层架构的业务处理
Controller
提示:Service接口

    @Reference
    private Service service;
@RequestMapping("/findPage")
    public PageResult findPage(@RequestBody QueryPageBean queryPageBean) {
    
        PageResult pageResult = service.findPage(queryPageBean);
        return pageResult;
    }

Service

public PageResult findPage(QueryPageBean queryPageBean) {
    
        Integer currentPage = queryPageBean.getCurrentPage();
        Integer pageSize = queryPageBean.getPageSize();
        String queryString = queryPageBean.getQueryString();
        PageHelper.startPage(currentPage, pageSize);
        Page<Setmeal> page = ***Dao.findPage(queryString);
        return new PageResult(page.getTotal(), page.getResult());
    }

Dao
分页插件的依赖
提示:版本号没有指定

		<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
        </dependency>

SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <plugins>
        <!-- com.github.pagehelper 为 PageHelper 类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库-->
            <property name="dialect" value="mysql"/>
            <property name="reasonable" value="true"/>
        </plugin>
    </plugins>
</configuration>
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huihuidexiaokeai/article/details/103769250

智能推荐

21、基于链表实现的LRU算法_基于链表的lru_qq_30272539的博客-程序员秘密

一、简单介绍1、LRU 中文意思是 最近最少访问缓存淘汰,在我们的生活中到处可见。当我们用链表实现是需要O(n)时间复杂度。2、我们需要维护一个按照访问时间从大到小有序排列的链表结构。因为缓存大小有限,当缓存空间不够,需要淘汰一个数据的时候,我们就直接将链表头部的结点删除。(1)、当要缓存某个数据的时候,先在链表中查找这个数据。如果没有找到,则直接将数据放到链表的尾部;(2)、如果...

系列教程丨用 Docker 探索开源软件 —— PostgreSQL(一)_Docker公司的博客-程序员秘密

出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五晚6点10分 与您不见不散!说在前面Docker 的一大优点是可以让您快速使用它来试用应用程序...

npm打包并复制文件到根目录_npm 复制文件_逝雪飘零的博客-程序员秘密

这个需求背景是 因为做一个平台系统 (公众号H5部分的)平台配置了X个商家,在配置商家时有微信公众号以及支付,配置域名是需要吧XXX.txt文件配置在根目录 提供域名www.aaa.com/xxx.txt直接访问实现如下:每次打包自动把public 下的MPXXX复制到 dist/build/h5 目录下 因为你每次打包都会重置这个目录 所以就有了上述需求ps:哪些需要在index.html 引用了某些资源文件 如cs 或js报 404 nofound 这个错误的同样适用。

nltk.download() 时 遇到getaddrinfo failed错误_赤醒醒的博客-程序员秘密

问题:nltk.download() 时 遇到getaddrinfo failed解决方案:当NLTK下载程序启动时,其服务器索引更改为-http://nltk.org/nltk_data/可以通过进入NLTK Downloader窗口和File-&gt; Change Server Index来更改此设置....

Spring框架基于AspectJ的AOP开发规范和步骤_Smaksze的博客-程序员秘密

AOP和动态代理的关系:AOP术语:横向关注点:需要新增的到业务代码中的功能(在目标对象那里叫横切关注点,在切面类中叫通知)切面类:封装了增强方法(横向关注点)的类通知:切面类中的每一个增强的方法叫做通知,通知通过切入点表达式作用于连接点上目标:所抽取出来的代码要作用的对象连接点:切面要作用到目标对象的具体位置,只能是四个位置,方法执行前,方法执行后,异常捕获后,finilly后.切入点(pointcut):AOP的切面类通过切入点找到对应的连接点 大白话就是把所有需要增强

uniapp 评论列表,展开,收起,全部,局部刷新功能_uniapp评论功能_翛翾梓的博客-程序员秘密

uniapp 评论列表,展开,收起,全部,局部刷新功能分析,首先得判断字符长度,超过一定长度后才有展开收起的功能,需要有一个字段标识,要控制每一条的展开收起,必须在每一条中添加一个相关字段,我们分析完后,需要在原数组上添加两个字段第一个: 是否超过三行(或者四行),isMore第二个: 当前状态是展开还是收起,isAll其实这里的看起来就是数据双向绑定,但是实现原理不是,最关键的是拷贝数据,从新赋值,这里绕过数据双向绑定,利用了缓冲,当我们第一次渲染数据的时候就会生成dom缓存,当我们改

随便推点

Mockito实现增删改查_mockito增删改查综合测试_smileTimLi的博客-程序员秘密

Mockito在springboot中的使用Mockito和Mock在编写代码测试类是存在相同点都是可以模拟相关的数据,不同之处在于Mockito添加的注解为MockitoJUnitRunner,而Mock添加的是SpringRunner.class目的:实现代码的功能1、公共的测试类(后续的需要继承)@RunWith(MockitoJUnitRunner.clas...

史上最全-使用Httprunner进行接口自动化测试-细节篇_httprunner调试_东隅之桑的博客-程序员秘密

说实话,目前网络上关于 Httprunner3.X 工具的文字资料太少了,有些博客文章还都是之前版本的,甚至是一篇文章照搬很多次。看的小明气的鼓起了腮帮子所以小明一气之下决定整理下Httprunner的使用细节,给铁子们参考一.用例文件格式详解(yaml/json),下图以yaml文件为例用例文件选择yaml或者json都可以,yaml文件的优点在于格式清晰,但是对缩进要求很严格json文件的缺点是符号太多,看起来很累,但是有些请求传入json格式参数并存在嵌套时,使用json文件编

7.01-beautiful_soup3_weixin_30500105的博客-程序员秘密

# pip install beautifulsoup4from bs4 import BeautifulSouphtml_doc = """&lt;html&gt;&lt;head&gt;&lt;title id="one"&gt;The Dormouse's story&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;...

SketchUp + Ruby 二次开发初识_weixin_33982670的博客-程序员秘密

一、SketchUp + Ruby 是什么?能够干什么?1、SketchUp 是当前主流 3D 建模软件,中文名草图大师,简而言之,就是帮助我们快速3D建模的软件。2、SketchUp 提供了 Ruby语言的API接口,您可以在SketchUp控制台中,通过使用Ruby语言,调用公开的API方法来实现 SketchUp的相关操作。当Ruby 遇上 SketchUp 在程序员中就会发生很神奇的...

Xilinx ZYNQ 7000 AXI GPIO 读写/中断_axi gpio中断_烹小鲜啊的博客-程序员秘密

需要注意的是Channel 是AXI GPIO的Channel,在IP生成的时候可以选择 2个通道。打开官方例程后,会发现这个AXI GPIO设置和 PS MIO/EMIO一模一样。也就是说AXI GPIO和PS GPIO使用了两套地址,分别指向了不同的地址。没错,AXI GPIO和PS GPIO使用了两套ConfigTable。在BSP中有gpio和gpiops两个文件夹,分别使用两套函数。data写入的数据是整个AXI GPIO的位宽。请仔细看下面两个获取gpio实体的函数。AXI GPIO中断。

python海龟库绘制七段数码管显示当前系统时间 &倒计时_yc_3dude的博客-程序员秘密

#SevenDigitsDrawV2.pyimport turtleimport timedef drawGap():    turtle.penup()    turtle.fd(5)def drawLine(draw):    drawGap()    turtle.pendown() if draw else turtle.penup()    turtle.fd(40)...

推荐文章

热门文章

相关标签