模糊分页、模糊查询分页
一、html页面
分页
JS中代码
二、Controller层
1.接收jsp的查询条件参数,和当前页参数page
2.查询所有的学生信息
3.进行模糊条件查询
4.将pageinfo,所有部门 和查询条件存进model
5.跳转到展示页面
首次打开该页面,加载的数据
request.setCharacterEncoding(“utf-8”);
response.setContentType("text/html;charset=utf-8");
String query = request.getParameter("query");
//获取当前页
String pagesize = request.getParameter("page")==null?"1":request.getParameter("page");
StudentService studentService = new StudentService();
Page page = new Page();
//给当前页赋值
page.setCurrentPage(Integer.parseInt(pagesize));
//分页信息
List<Student> studentList = studentService.getStudentList(query,page);
//获取总条数
int ssum = studentService.selStudentPageSize(query);
//设置总条数
page.setRecordTotal(ssum);
//内容
page.setContent(studentList);
request.setAttribute("query",query);
request.setAttribute("page",page);
request.getRequestDispatcher("/WEB-INF/pages/admin/admin-student.jsp").forward(request, response);
点击首页,上一页,下一页之后,所显示的数据
request.setCharacterEncoding(“utf-8”);
response.setContentType("text/html;charset=utf-8");
String pagesize = request.getParameter("page");
String query = request.getParameter("query");
StudentService studentService = new StudentService();
Page page = new Page();
//给当前页赋值
page.setCurrentPage(Integer.parseInt(pagesize));
//分页信息
List<Student> studentList = studentService.getStudentList(query,page);
//总条数
int ssum = studentService.selStudentPageSize(query);
page.setRecordTotal(ssum);
page.setContent(studentList);
request.setAttribute("query",query);
request.setAttribute("page",page);
request.getRequestDispatcher("/WEB-INF/pages/admin/admin-student.jsp").forward(request, response);
三、DAO层
//获取所有的学生
public List<Student> getStudentList(String query, Page page) {
Connection con = null;
PreparedStatement pre = null;
ResultSet resultSet = null;
List<Student> res = new ArrayList<>();
try {
con = DBUtils.getConnection();
String sql = "SELECT * FROM tb_student LEFT JOIN tb_class on tb_student.cid=tb_class.id where 1=1";
if(query != null && !"".equals(query.trim())) {
query = ParamsUtils.wrapper(query);
sql += " and student_no like " + query + " or student_name like " + query;
}
sql += " limit ?,?";
pre = con.prepareStatement(sql);
//(当前页-1)*每页显示条数
pre.setInt(1, (page.getCurrentPage()-1)*page.getPageSize());
//每页大小
pre.setInt(2,page.getPageSize());
resultSet = pre.executeQuery();
while(resultSet.next()) {
String studentNo = resultSet.getString("student_no");
String studentName = resultSet.getString("student_name");
String description = resultSet.getString("description");
String idCard = resultSet.getString("id_card");
Integer age = resultSet.getInt("age");
Integer id = resultSet.getInt("id");
Byte gender = resultSet.getByte("gender");
String name = resultSet.getString("name");
String year = resultSet.getString("year");
String hobby = resultSet.getString("hobby");
Date createTime = resultSet.getDate("create_time");
Date updateTime = resultSet.getDate("update_time");
Student student = new Student();
student.setStudentNo(studentNo);
student.setStudentName(studentName);
student.setDescription(description);
student.setIdCard(idCard);
student.setAge(age);
student.setGender(gender);
student.setYear(year);
student.setCreateTime(createTime);
student.setUpdateTime(updateTime);
Classs aClasss = new Classs();
aClasss.setId(id);
aClasss.setName(name);
student.setHobby(hobby);
student.setAclasss(aClasss);
res.add(student);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtils.closeConnection(con, pre, resultSet);
}
return res;
}
//获取学生总数
public int selStudentPageSize(String query) {
Connection con = null;
PreparedStatement pre = null;
ResultSet resultSet = null;
try {
con = DBUtils.getConnection();
String sql = "SELECT count(*) ssum FROM tb_student left join tb_class on tb_student.cid=tb_class.id where 1=1";
if(query != null && !"".equals(query.trim())) {
query = ParamsUtils.wrapper(query);
sql += " and student_no like " + query + " or student_name like " + query;
}
pre = con.prepareStatement(sql);
resultSet = pre.executeQuery();
while(resultSet.next()) {
return resultSet.getInt("ssum");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtils.closeConnection(con, pre, resultSet);
}
return 0;
}
四、分页工具类
package com.dayrain.utils;
import java.util.List;
/**
* 分页
*
*/
public class Page<T> {
/**
* currentPage 当前页
*/
private int currentPage = 1;
/**
* pageSize 每页大小
*/
private int pageSize = 3;
/**
* pageTotal 总页数
*/
private int pageTotal;
/**
* recordTotal 总条数
*/
private int recordTotal = 0;
/**
* content 每页的内容
*/
private List<T> content;
public List<T> getContent() {
return content;
}
public void setContent(List<T> content) {
this.content = content;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageTotal() {
///1 53%5 3 50%5 0
pageTotal = ((recordTotal%pageSize)==0)?(recordTotal/pageSize):((recordTotal/pageSize)+1) ;
return pageTotal;
}
// public void setPageTotal(int pageTotal) {
// this.pageTotal = pageTotal;
// }
public int getRecordTotal() {
return recordTotal;
}
public void setRecordTotal(int recordTotal) {
this.recordTotal = recordTotal;
}
@Override
public String toString() {
return "Page{" +
"currentPage=" + currentPage +
", pageSize=" + pageSize +
", pageTotal=" + pageTotal +
", recordTotal=" + recordTotal +
", content=" + content +
'}';
}
}
还没有评论,来说两句吧...