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

分页查询

简介:分页查询的传递值以及返回值需要进行封装
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

智能推荐

基于最新版本stm32cubeIDE的lwip进行TCP、UDP组播通讯_stm32 udp组播_厉害了你森哥的博客-程序员秘密

基于stm32cubeIDE的lwip进行TCP、UDP组播通讯一、ETH配置采用LAN8720A的PHY芯片,原理图为:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iea2Tmkw-1652691553020)(LAN8720A原理图.png)]需注意reset脚在初始化PHY芯片前,拉高拉低下reset脚HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET);HAL_Delay(55);HAL_GPIO

siliconc8051f Silicon C8051F编程器使用出错解决办法_flash programming utility_huislee的博客-程序员秘密

siliconc8051f Silicon C8051F编程器使用出错解决办法1.根据下图先选择接口类型,通过usb连接电脑就选USB系列,同理选RS232系列。2.载入要烧录的hex文件3. 点击编程4.出错后关闭软件,使用“U-EC6 C8051F仿真器软件Flash Programming Utility”下载链接为“链接提取码:vx105.打开软件设置:链接接口类型 com口波特率6.选择hex后下载7.此时已经完成烧录功能,此时也可重复步骤1-4实现”siliconc8051f

python执行命令、该命令执行时间长_解决paramiko执行命令超时的问题_weixin_39990558的博客-程序员秘密

问题:paramiko远程执行命令,需要等到命令返回信息,如果命令执行时间比较长,返回信息就需要等很久方案:1、使用nohup + 待执行命令 + &amp; ,使用后台执行的方式,应该可以快速返回2、设置paramiko的执行命令等待超时时间stdin, stdout, stderr = self.client.exec_command(cmd,timeout=10,get_pty=True)其...

2012_USelection_weixin_42754054的博客-程序员秘密

%matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib.pyplot as plt关于%matplotlib inline在使用jupyter notebook 或者 jupyter qtconsole的时候,经常会用到%matplotlib inline。其作用就是在你调用plot()进行画图...

Windows安装lua,并使用SciTE进行编辑_scite 编写lua_zhou20161107的博客-程序员秘密

1、在百度搜Lua for Windows,进入Lua for Windows主页,点击上图luaforwindows现在安装包。2、安装包下载完毕后双击安装即可。3、安装完成后将安装好的目录加到环境变量Path内。4、网上下载SciTE安装包,进行安装。5、安装完成后打开编辑器,找到 Options---Open lua.properties

随便推点

C语言基础知识_Yirennn的博客-程序员秘密

一、前言部分二、具体部分1、基本数据类型在C语言中,承载一系列信息的数字或中字符都属于数据类型,计算机不能直接识别不同的类型,所以在使用变量时需要在声明语句中指定其数据类型。C语言的数据类型,通俗的理解就是将不同的物品放在不同的盒子中,比如小数存放在浮点型、整数存放在整型、字符存放在字符型等等,在编写C语言时需要根据存放数据的不同,定义不同的类型变量。c语言有3种基本数据类型: 整型,表示一个整数,通常包括“short”、“int”、“long”等。 实型,“实型

vue github开源项目_优秀前端都应该了解学习的开源实战项目(GitHub 开源清单)..._weixin_39569112的博客-程序员秘密

强烈推荐 GitHub 上值得前端学习的开源实战项目。笔者 GitHub:https://github.com/biaochenxuying/blogVue.jsVue Element Admin​panjiachen.github.ioiview/iview-admin​github.com基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用​github.combailic...

概说概要设计怎么做_概要设计说明书中的数据设计怎么做_3moods的博客-程序员秘密

概说概要设计怎么做  51CMM.COM原创 作者:厦门巨龙软件工程有限公司 卢琳生 [2003/12/22]   摘要:  本文是在概要设计实践和学习中的一些心得与学习笔记,希望与大家分享,如有不妥之处欢迎指正。  关键字:  概要设计,结构化,OOD  正文:  在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。因此,对

[CVPR2018] An Analysis of Scale Invariance in Object Detection – SNIP_米可若丝的博客-程序员秘密

An Analysis of Scale Invariance in Object Detection – SNIP简介分类和检测的难度差异各种对付尺度变化的方法作者抛出的两个问题分析现存的解决方法浅层小物体, 深层大尺度特征融合/特征金字塔多尺度分类问题CNN-B: 原图训练 / 伪高清测试CNN-S: 低清训练 / 低清测试CNN-B-FT: 原图训练, 伪高清微...

potainer 日志_10个好用的Web日志安全分析工具_weixin_40006779的博客-程序员秘密

作者: Bypass转发链接:https://mp.weixin.qq.com/s/gfb4XpTkpSbJLhUK2cJydQ前言经常听到有朋友问,有没有比较好用的web日志安全分析工具?首先,我们应该清楚,日志文件不但可以帮助我们溯源,找到入侵者攻击路径,而且在平常的运维中,日志也可以反应出很多的安全攻击行为。一款简单好用的Web日志分析工具,可以大大提升效率,目前业内日志分析工具比较多,今天...

Linux:如何创建一个具有root权限的用户?_请使用root用户来创建用户alan、tom,并合理修改d-1目录的权限,使alan用户可以在d-_彼岸大树的博客-程序员秘密

创建一个具有root权限的用户如果我们需要创建一个新用户,并且让该用户具有root权限,可以通过下面的命令来实现:创建一个名为tom的的新用户,并让它具有和root相同的权限:#useradd -ou 0 -g 0 tom#passwd tom我们刚才创建了一个UID和GID都为0的用户tom,他和root在相同的组里。给已经存在的用户赋予root权限可能你已经有了一个叫

推荐文章

热门文章

相关标签