项目框架:
####实体类: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(这个是还没加时间搜索条件的,下面加上)
图1
####这里用了一个时间控件daterangepicker,喜欢的可以自行搜搜看
1、首先在User.java实体类添加:beginTime和endTime两个字段
2、在UserMapper.xml映射文件中添加条件
3、在UserServiceImpl.java实现类中,把beginTime和endTime加进map中
4、在前台页面传值:index.jsp
最后展示:如图2
项目地址:ssm_ajax_page