如果这篇文章能给你带来帮助,不胜荣幸,如果有不对的地方也请批评指正 共同进步,因为最近使用augular前段所以看了一下,为了加深印象,所以记录一下,废话不多说直接上代码。

  首先来讲你可以使用page的分页插件,也可以不使用我没有使用,所以得展示部分sql语句。总体来说sql语句的代码就是:select * from table where 1=1 and 条件=条件值 and 条件=条件值 limit start,num  并写一个查询相关条数的方法

其中start为起始下标,num为展示多少条。具体看下面

  

<select id="selectByPageAndObj" resultMap="BaseResultMap">  		select * from registration_of_cases   		<where>  			<if test="unitName!=null">  			and unit_name like concat("%",#{unitName},"%")  			</if>  			<if test="organizationalCode!=null">  			and	organizational_code like concat("%",#{organizationalCode},"%")  			</if>  		</where> 		limit #{nowPage},#{pagetotle}  </select>
 
<select id="selectByPageAndObjNum" resultType="int"> select count(*) from registration_of_cases <where> <if test="unitName!=null"> and unit_name like concat("%",#{unitName},"%") </if> <if test="organizationalCode!=null"> and organizational_code like concat("%",#{organizationalCode},"%") </if> </where> </select>

  然后需要创建一个分页类:分页累的作用就是简单地给你进行一下计算,比如说传入当前的页数 可以得到查询的起始位置等等不在一一赘述,看代码

package com.social.util;

import java.util.List;

public class Result {

private int pageSize = 5;//每页数量
private int pageNum = 1;//默认当前是第一页
private int total = 0;//总条数
private int totalPage = 0;//总页数
private int start = 0;//起始位置
private List rows;//接受数据的集合
private String url="";//请求的路径

public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public int getTotalPage() {
int pageCount = 0;
if(total%pageSize==0) {
pageCount=total/pageSize;
}else {
pageCount=total/pageSize+1;
}
totalPage = pageCount;
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getStart() {
start = (pageNum-1)*pageSize;
return start;
}
public void setStart(int start) {
this.start = start;
}
public List getRows() {
return rows;
}
public void setRows(List rows) {
this.rows = rows;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
@Override
public String toString() {
return "PageBean [pageSize=" + pageSize + ", pageNum=" + pageNum + ", total=" + total + ", totalPage="
+ totalPage + ", start=" + start + ", rows=" + rows + ", url=" + url + "]";
}



}

  在写这个之前,还得写一个查询所有的方法,如果你nb其实一个方法也可以,这篇文章就是给基础的看的。接着往下

后台的工作目前做到这里就算差不多的了 现在来看一下前台界面你需要写一部分js 上代码:

首先引入相关的js和css样式 例如:

	<script src="plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="plugins/bootstrap/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="plugins/angularjs/pagination.css">
<script type="text/javascript" src="plugins/angularjs/pagination.js"></script>
<script type="text/javascript" src="plugins/angularjs/angular.min.js"></script>

  然后接着上具体的前段代码 部分解释代码中见:

//初始化和点击时给部分分页的参数进行一个赋值 前段的分页
$scope.paginationConf = {
currentPage : 1,//当前页
totalItems : 0,//总数
itemsPerPage : 5,//每页个数
perPageOptions : [ 5, 10, 15, 20, 50 ],//分页选项
onChange : function() {//当更改页码时,自动触发分页查询方法
$scope.reloadlist();
}
};
$scope.searchEntity = {
unitName : "",//
organizationalCode : "",//
};
//有改变的时候调用重新加载的方法
$scope.reloadlist = function() {//方法里面有两个参数 当前页和每页多少条
$scope.findPage($scope.searchEntity.unitName,$scope.searchEntity.organizationalCode,$scope.paginationConf.currentPage,
$scope.paginationConf.itemsPerPage);
}
//根据条件进行分页查询
$scope.findPage = function(unitName,organizationalCode,nowPage, pageTotal) {
$http({
method:'post',
url:'http://localhost:80/mysocial/pageFindByObj',
data:{
"unitName":unitName,
"organizationalCode":organizationalCode,
"nowPage":nowPage,
"pageTotal":pageTotal
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
transformRequest: function(obj) {
var str = [];
for (var s in obj) {
str.push(encodeURIComponent(s) + "=" + encodeURIComponent(obj[s]));
}
return str.join("&");
}
}).success(function(response){
$scope.list = response.rows;//显示当前页数据
$scope.paginationConf.totalItems = response.total;//更新总记录数
})
}

  

具体的html界面上的代码:

<tr ng-repeat="entity in list"> <!-- 你可以吧repeat当成foreach来理解 其中 list是上面接收的集合 entity是用来循环展示的变量 -->
<td><input type="checkbox"></td>
<td>{{entity.unitName}}</td> <!-- 通过对象.属性的方式来进行一个展示数据 -->
<td>{{entity.organizationalCode}}</td>
<td>{{entity.nameOfTheComplainant}}</td>
</tr>
<!-- 最后在你的前台html界面上进行一个插件html的引入-->
<tm-pagination conf="paginationConf"></tm-pagination>

  最后展示后台代码:查询所有的的代码我就不展示了,反正也是得返回一个pagebean 要不然你前台获取的时候获取不到相对应的值

·  

@Autowired
private RegistrationOfCasesMapper registrationOfCasesMapper;

@ResponseBody
@RequestMapping("/pageFindByObj")
public Result pageFindByObj(String unitName,String organizationalCode,Integer nowPage,Integer pageTotal){
//创建result对象
Result result = new Result();
result.setPageNum(nowPage);
result.setPageSize(pageTotal);
List<RegistrationOfCases> selectByPageAndObj = registrationOfCasesMapper.selectByPageAndObj(unitName,organizationalCode,result.getStart(),pageTotal);
Integer selectByPageAndObjNum = registrationOfCasesMapper.selectByPageAndObjNum(unitName,organizationalCode, result.getStart(), pageTotal);
result.setRows(selectByPageAndObj);
result.setTotal(selectByPageAndObjNum);
return result;
}

  

angular js 实现模糊查询并分页的更多相关文章

  1. django实战(二)--带多字段模糊查询的分页(也是不容易)

    上节我们实现了分页功能,这节我们要实现对模糊查询后的结果进行分页.(引入了bootstrap框架) urls.py from django.urls import path from . import ...

  2. 【Django+Element UI】使用一个接口文件,搞定分页获取数据,模糊查询后分页获取数据

    1:序列化获取数据的接口设计 1:分页获取序列化数据 2:是个能传参数的接口 class Society(APIView): def post(self, request): keywords = s ...

  3. 利用DetachedCriteria实现模糊查询和分页

      分类: Java-Developing  前段时间在做模糊查询,并利用数据库分页,DAO用hibernate实现,刚开始的时候 根据业务层的数据,拼hql语句进行查询,且不说要进行一些if判断,单 ...

  4. 编写简易的JS输入框模糊查询匹配(附有源码和demo)

    前言:JS输入框模糊匹配插件以前在工作写过一个类似的 所以这次写轻松很多,这次写优化了几个方面: 1. 添加动态加载css文件 不需要引入css css全部在JS动态生成. 2. 不需要额外的标签 只 ...

  5. js实现模糊查询

    1.简述 实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现. 后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询. 前端直接使用字符串的indexOf()方法或者正则表达 ...

  6. Spring Boot 结合Spring Data结合小项目(增,删,查,模糊查询,分页,排序)

    本次做的小项目是类似于,公司发布招聘信息,因此有俩个表,一个公司表,一个招聘信息表,俩个表是一对多的关系 项目整体结构: Spring Boot和Spring Data结合的资源文件 applicat ...

  7. Neo4j模糊查询及分页查询

    Neo4j模糊查询:采用正则方式: MATCH (n:House) where n.Name =~ '李.*' RETURN n 分页: 使用skip 及 limit MATCH (n:House) ...

  8. Mysql里查询字段为Json格式的数据模糊查询以及分页方法

    public void datagrid(CustomFormEntity customForm,HttpServletRequest request, HttpServletResponse res ...

  9. Thinkphp5 post提交模糊查询带分页如何保留参数

    最近做了一个分页的模糊查询post请求,发现查出来的分页点击下一页导致所有的搜索条件被重置,分页效果就失效了. 以下是网上部分解决办法: 控制器代码 public function index($na ...

  10. js的模糊查询

    在项目中会用到模糊查询,之前在首页是用的element的tree显示的目录,会有用到搜索,但tree里边会有自带的模糊查询,用filter-node-method方法使用 但上次的项目中 又涉及到不试 ...

随机推荐

  1. 【架构设计】你真的理解软件设计中的SOLID原则吗?

    前言 在软件架构设计领域,有一个大名鼎鼎的设计原则--SOLID原则,它是由由Robert C. Martin(也称为 Uncle Bob)提出的,指导我们写出可维护.可以测试.高扩展.高内聚.低耦合 ...

  2. 路由分发、名称空间、视图层之必会的三板斧、JsonResponse对象、request获取文件、FBV与CBV、模板层语法传值

    路由分发.名称空间.视图层之必会的三板斧.JsonResponse对象.request获取文件.FBV与CBV.模板层语法传值 一.昨日内容回顾 二.路由分发 1.djiango的每个应用都有主见的t ...

  3. JDK8 四大核心函数式接口及扩展接口总结

    前言 Java8的四大函数式接口及相关的扩展接口在日常使用中的频率也是非常多的,包括自己定义的函数式接口,在JDK1.8之前,我们定义的方法都是用来接收参数,然后自己根据参数传递实现逻辑.在1.8之后 ...

  4. Linux环境下:程序的链接, 装载和库[ELF文件详解]

    编译过程拆解 预处理处理生成.i文件, .i文件还是源码文件 将所有的宏定义#define展开. 处理#if, #else, #endif等条件编译指令 处理#include, 原地插入文件 cpp ...

  5. SQLSERVER 快照隔离级别 到底怎么理解?

    一:背景 1. 讲故事 上一篇写完 SQLSERVER 的四个事务隔离级别到底怎么理解? 之后,有朋友留言问什么时候可以把 snapshot 隔离级别给补上,这篇就来安排,快照隔离级别看起来很魔法,不 ...

  6. Vue21 组件

    1 模块及组件简介 组件(component)是vue.js最强大的功能之一.组件的作用就是封装可重用的代码,通常一个组件就是一个功能体,便于在多个地方都能够调用这个功能体. 每个组件都是Vue的实例 ...

  7. MongoDB数据库记录

    启动 MongoDB 服务 标准 URI 连接语法: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:po ...

  8. 详解Redisson分布式限流的实现原理

    摘要:本文将详细介绍下RRateLimiter的具体使用方式.实现原理还有一些注意事项. 本文分享自华为云社区<详解Redisson分布式限流的实现原理>,作者: xindoo. 我们目前 ...

  9. 编译OpenCV以及openc_contrib提示缺少boostdesc_bgm.i文件出错的解决

    ~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such ...

  10. 2021级《JAVA语言程序设计》上机考试试题2

    以下是学生页面 首先先给上数据库 在准备准备工作 以下为代码: package Bean; public class Student { private String StuID; private S ...