c mvc ajax 分页控件,Spring+SpringMVC+Mybatis 带查询条件的Ajax+Paginator插件分页

项目框架:

b8d52c735f447b6290b737c08c068106.png

####实体类:User.java

package com.test.entity;

import java.util.Date;

import com.test.util.DateUtils;

/**

* 实体类 User

*/

public class User {

private int id;

private String username;

private String password;

private String phone;

public String subtime;

public String getSubtime() {

return subtime;

}

public void setSubtime(Date subtime) {

this.subtime = DateUtils.format(subtime,"yyyy-MM-dd");

}

public User() {

super();

}

public User(int id, String username, String password, String phone, String subtime) {

super();

this.id = id;

this.username = username;

this.password = password;

this.phone = phone;

this.subtime = subtime;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

}

####工具类:page.java

package com.test.util;

import java.util.List;

/**

* 分页的工具类

*/

public class Page{

private int pageSize=6; //页大小

private int pageIndex=0; //当前页号

private int totalPageCount=0; //总页数

private int record=0; //记录总数

private Integer nextPage; //下一页

private Integer prePage; //上一页

private Listdatalist; //集合

public ListgetDatalist() {

return datalist;

}

public void setDatalist(Listdatalist) {

this.datalist = datalist;

}

//得到开始记录数

public int getSartRow(){

return (pageIndex-1)*pageSize;

}

//得到结束记录数

public int getEndRow(){

return pageSize;

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getPageIndex() {

return pageIndex;

}

//得到当前页

public void setPageIndex(int pageIndex) {

this.pageIndex = pageIndex;

//下一页

setNextPage();

//上一页

setPrePage();

}

public int getTotalPageCount() {

return totalPageCount;

}

//总页数

public void setTotalPageCount() {

int totalP = record % getPageSize() == 0 ? record / getPageSize() :

record/ getPageSize() + 1;

this.totalPageCount = totalP;

}

public int getRecord() {

return record;

}

//总记录数

public void setRecord(int record) {

this.record = record;

//设置总页数

setTotalPageCount();

}

public Integer getNextPage() {

return nextPage;

}

//设置下一页

public void setNextPage() {

this.nextPage = this.pageIndex+1;

}

public Integer getPrePage() {

return prePage;

}

//设置上一页

public void setPrePage() {

this.prePage =this.pageIndex-1;

if(this.prePage<1){

this.prePage=1;

}

}

}

**.xml映射文件:UserMapper.xml **

id, username, password, phone,subtime

select count(0) from tb_user

and username like CONCAT(CONCAT('%',#{username},'%'))

select from tb_user

and username like CONCAT(CONCAT('%',#{username},'%'))

limit #{stratRow},#{endRow}

Dao层接口: UserMapper.java

package com.test.mapper;

import java.util.HashMap;

import java.util.List;

import com.test.entity.User;

public interface UserMapper {

/**

* 获取总记录条数

*/

int getPageCount(User user);

/**

* 分页 带查询条件

*/

ListfindPagePrerequisite(HashMapmap);

}

Service 接口: UserService.java

package com.test.service;

import com.test.entity.User;

import com.test.util.Page;

public interface UserService {

/**

* 获取总记录条数

*/

int getPageCountService(User user);

/**

* 分页 带查询条件

*/

PagefindPagePrerequisiteService(User user,int pageIndex);

}

ServiceImpl 实现类: UserServiceImpl.java

ServiceImpl 实现类:调用mapper(dao)接口

package com.test.service.impl;

import java.util.HashMap;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import com.test.entity.User;

import com.test.mapper.UserMapper;

import com.test.service.UserService;

import com.test.util.Page;

@Service

public class UserServiceImpl implements UserService {

//调用dao接口

@Autowired

private UserMapper userMapper;

/**

* 获取分页总记录条数

*/

public int getPageCountService(User user) {

int pageCount = userMapper.getPageCount(user);

return pageCount;

}

/**

* 分页 带查询条件

*/

public PagefindPagePrerequisiteService(User user,int pageIndex) {

HashMapmap = new HashMap();

Pagepage = new Page();

//当前页

page.setPageIndex(pageIndex);

//封装总记录数

int getCount = userMapper.getPageCount(user);

page.setRecord(getCount);

//封装查询条件

map.put("username", user.getUsername());

//分页

map.put("stratRow", page.getSartRow());

map.put("endRow", page.getEndRow());

//封装每页显示的数据,调用分页方法,把map值传进去

ListfileList = userMapper.findPagePrerequisite(map);

page.setDatalist(fileList);

return page;

}

}

Controller 类:UserController.java

package com.test.controller;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import com.test.entity.User;

import com.test.service.UserService;

import com.test.util.Page;

@Controller

@RequestMapping("/usercont")

public class UserController {

//调用Service接口

@Autowired

private UserService fileService;

/**

* 获取总记录条数

*/

@RequestMapping("/getPageCount")

@ResponseBody

public int getPageCount(User users) {

int count = fileService.getPageCountService(users);

return count;

}

/**

* 分页 带查询条件

*/

@RequestMapping("/page")

@ResponseBody

public PagefindPagePrerequController(User users, int pageIndex){

Pagepage = new Page();

page = fileService.findPagePrerequisiteService(users,pageIndex);

return page;

}

}

####前台页面展示:index.jsp

分页

Ajax分页

查询

序号

用户名

密码

电话

提交时间

####显示效果:如图1(这个是还没加时间搜索条件的,下面加上)

d7685f37fca91dceae7a4508bf9cdf6b.png

图1

####这里用了一个时间控件daterangepicker,喜欢的可以自行搜搜看

1、首先在User.java实体类添加:beginTime和endTime两个字段

db4453f5908cd5ea835239f249860fd3.png

2、在UserMapper.xml映射文件中添加条件

29033e83ba306cfea318dc6d787bcb9b.png

3、在UserServiceImpl.java实现类中,把beginTime和endTime加进map中

dc47b5154e377a620b1352c68f716c73.png

4、在前台页面传值:index.jsp

0a8032d967eafdfc5d45250d983afedd.png

7f4d70fbc778f2e4908e9ed7e9a63872.png

最后展示:如图2

ec9c95f307f30fbc6f0d9492e742855b.png

项目地址:ssm_ajax_page

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值