简介:分页查询的传递值以及返回值需要进行封装
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>
一、简单介绍1、LRU 中文意思是 最近最少访问缓存淘汰,在我们的生活中到处可见。当我们用链表实现是需要O(n)时间复杂度。2、我们需要维护一个按照访问时间从大到小有序排列的链表结构。因为缓存大小有限,当缓存空间不够,需要淘汰一个数据的时候,我们就直接将链表头部的结点删除。(1)、当要缓存某个数据的时候,先在链表中查找这个数据。如果没有找到,则直接将数据放到链表的尾部;(2)、如果...
出品丨Docker公司(ID:docker-cn)编译丨小东每周一、三、五晚6点10分 与您不见不散!说在前面Docker 的一大优点是可以让您快速使用它来试用应用程序...
这个需求背景是 因为做一个平台系统 (公众号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下载程序启动时,其服务器索引更改为-http://nltk.org/nltk_data/可以通过进入NLTK Downloader窗口和File-> Change Server Index来更改此设置....
AOP和动态代理的关系:AOP术语:横向关注点:需要新增的到业务代码中的功能(在目标对象那里叫横切关注点,在切面类中叫通知)切面类:封装了增强方法(横向关注点)的类通知:切面类中的每一个增强的方法叫做通知,通知通过切入点表达式作用于连接点上目标:所抽取出来的代码要作用的对象连接点:切面要作用到目标对象的具体位置,只能是四个位置,方法执行前,方法执行后,异常捕获后,finilly后.切入点(pointcut):AOP的切面类通过切入点找到对应的连接点 大白话就是把所有需要增强
uniapp 评论列表,展开,收起,全部,局部刷新功能分析,首先得判断字符长度,超过一定长度后才有展开收起的功能,需要有一个字段标识,要控制每一条的展开收起,必须在每一条中添加一个相关字段,我们分析完后,需要在原数组上添加两个字段第一个: 是否超过三行(或者四行),isMore第二个: 当前状态是展开还是收起,isAll其实这里的看起来就是数据双向绑定,但是实现原理不是,最关键的是拷贝数据,从新赋值,这里绕过数据双向绑定,利用了缓冲,当我们第一次渲染数据的时候就会生成dom缓存,当我们改
Mockito在springboot中的使用Mockito和Mock在编写代码测试类是存在相同点都是可以模拟相关的数据,不同之处在于Mockito添加的注解为MockitoJUnitRunner,而Mock添加的是SpringRunner.class目的:实现代码的功能1、公共的测试类(后续的需要继承)@RunWith(MockitoJUnitRunner.clas...
说实话,目前网络上关于 Httprunner3.X 工具的文字资料太少了,有些博客文章还都是之前版本的,甚至是一篇文章照搬很多次。看的小明气的鼓起了腮帮子所以小明一气之下决定整理下Httprunner的使用细节,给铁子们参考一.用例文件格式详解(yaml/json),下图以yaml文件为例用例文件选择yaml或者json都可以,yaml文件的优点在于格式清晰,但是对缩进要求很严格json文件的缺点是符号太多,看起来很累,但是有些请求传入json格式参数并存在嵌套时,使用json文件编
# pip install beautifulsoup4from bs4 import BeautifulSouphtml_doc = """<html><head><title id="one">The Dormouse's story</title></head><body><...
一、SketchUp + Ruby 是什么?能够干什么?1、SketchUp 是当前主流 3D 建模软件,中文名草图大师,简而言之,就是帮助我们快速3D建模的软件。2、SketchUp 提供了 Ruby语言的API接口,您可以在SketchUp控制台中,通过使用Ruby语言,调用公开的API方法来实现 SketchUp的相关操作。当Ruby 遇上 SketchUp 在程序员中就会发生很神奇的...
需要注意的是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中断。
#SevenDigitsDrawV2.pyimport turtleimport timedef drawGap(): turtle.penup() turtle.fd(5)def drawLine(draw): drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40)...