
SSM框架crud(增删改查模糊查询加分页)之模糊查询(三)
发布日期:2021-10-12 20:07:57
浏览次数:7
分类:技术文章
本文共 9936 字,大约阅读时间需要 33 分钟。
先上图:这个是正常查询没搜索分页之前
搜索后带分页的
效果图也看了,咱们上干货吧
首先分页得加一个工具类,里面有封装好的当前页,上一页,下一页等
public class PageUtil {
//页
private String page;
//每页数据量
private int pageSize;
//总数据数
private int count;
//当前页
private int currentPage;
//上一页
private int prevPage;
//下一页
private int nextPage;
//最后一页
private int lastPage;
//开始
private int startIndex;
//总页数
private int totalPage;
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public PageUtil(String page, int pageSize, int count){
this.page = page;
this.pageSize = pageSize;
this.count = count;
initCurrentPage();
initPrevPage();
initLastPage();
initNextPage();
initStartIndex();
initTotalPage();
}
private void initTotalPage(){
if(count%pageSize!=0){
this.totalPage = count/pageSize+1;
}else{
this.totalPage = count/pageSize;
}
}
//当前页
private void initCurrentPage(){
page = page == null ? "1" : page;
currentPage = Integer.parseInt(page);
}
//上一页
private void initPrevPage(){
if(currentPage == 1){
prevPage = 1;
}else{
prevPage = currentPage - 1;
}
}
//最后一页
private void initLastPage(){
lastPage = count / pageSize;
if(count % pageSize != 0){
lastPage += 1;
}
}
//下一页
private void initNextPage(){
if(currentPage == lastPage){
nextPage = currentPage;
}else{
nextPage = currentPage + 1;
}
}
private void initStartIndex() {
startIndex = (currentPage - 1) * pageSize;
}
public String getPage() {
return page;
}
public int getPageSize() {
return pageSize;
}
public int getCount() {
return count;
}
public int getCurrentPage() {
return currentPage;
}
public int getPrevPage() {
return prevPage;
}
public int getNextPage() {
return nextPage;
}
public int getLastPage() {
return lastPage;
}
public int getStartIndex() {
return startIndex;
}
}
现在进入正题,这是列表页面
- 商品管理
这个是js里面分页,查询传参,我这个查询得字段比较多,自己可以根据自己实际情况查询,分页后面也要把查询得字段拼接上。
/*
*
模糊查询
*/
function search() {
var content = $("#content").val();
var approvalNumber = $("#approvalNumber").val();
var barcode = $("#barcode").val();
var startPrice = $("#startPrice").val();
var endPrice = $("#endPrice").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var startSales = $("#startSales").val();
var endSales = $("#endSales").val();
var countNum = $("#countNum").val();
var saleType = $("#saleType").val();
var sort = $("#sort").val();
var symptom = $("#symptom").val();
var department = $("#department").val();
var place = $("#place").val();
var brand = $("#brand").val();
var status= '${map.status}';
var sSales=/^[0-9]*[1-9][0-9]*$/;
var eSales=/^[0-9]*[1-9][0-9]*$/;
if((sSales.test(startSales)&&sSales.test(endSales))||(startSales==""&&endSales=="")){
location.href = "/user/system/productMangerList?content="
+ content + "&approvalNumber=" + approvalNumber
+ "&barcode=" + barcode + "&startPrice="+startPrice+"&endPrice="+endPrice+"&startTime=" + startTime + "&endTime="
+ endTime+"&startSales=" + startSales+"&endSales="+endSales
+ "&countNum=" + countNum + "&saleType=" + saleType+"&brand="+brand+"&status="+status;
}else{
layer.alert("您输入的格式不正确,请输入大于0的正整数!!!!");
}
}
/*
* 分页
*/
function fenye(cpage) {
var status= '${map.status}';
var content = $("#content").val();
var approvalNumber = $("#approvalNumber").val();
var barcode = $("#barcode").val();
var startPrice = $("#startPrice").val();
var endPrice = $("#endPrice").val();
var startTime = $("#startTime").val();
var endTime = $("#endTime").val();
var startSales = $("#startSales").val();
var endSales = $("#endSales").val();
var countNum = $("#countNum").val();
var saleType = $("#saleType").val();
var sort = $("#sort").val();
var symptom = $("#symptom").val();
var department = $("#department").val();
var place = $("#place").val();
var brand = $("#brand").val();
location.href = "/user/system/productMangerList?cpage=" + cpage
+ "&content=" + content + "&approvalNumber=" + approvalNumber
+ "&barcode=" + barcode + "&startPrice="+startPrice+"&endPrice="+endPrice
+ "&startTime=" + startTime + "&endTime="
+ endTime+"&startSales=" + startSales+"&endSales="+endSales
+ "&countNum=" + countNum + "&saleType=" + saleType+"&brand="+brand+"&status="+status;
}
下一步我在看Controller控制层
/*
* 跳转商品管理主页面
*/
@RequestMapping(value = "productMangerList")
public String productMangerList(HttpServletRequest request,Model model, String status, String saleType,String content
,String approvalNumber,String barcode,String startPrice,String endPrice,
String startSales,String endSales,String countNum
,String sort,String symptom,String department,String place,String brand,String cpage) {
String type = (String) request.getSession().getAttribute("role");
if ("1".equals(type)) {
log.info("-------------------》商户---没该权限");
return "redirect:errorPower";
}else if ("2".equals(type)) {
log.info("-------------------》管理员专属权限---商品管理");
String requestURL = request.getRequestURL().toString();//获取链接路径
String mathodPath = requestURL.substring(requestURL.lastIndexOf("/")+1);//截取最后一个字段
ListquerySjManager = userService.queryMenuPermission();
if (!"".equals(mathodPath)) {
for (MenuPath menu : querySjManager) {
if (mathodPath.equals(menu.getPurl())) {//判断是否有这个权限
log.info("由此权限,放过!!!!");
Mapmap = new HashMap ();
map.put("request",request);
map.put("status", status);
map.put("saleType",saleType);
map.put("content", content);
map.put("approvalNumber", approvalNumber);
map.put("barcode", barcode);
map.put("startPrice",startPrice);
map.put("endPrice",endPrice);
map.put("startSales",startSales);
map.put("endSales",endSales);
map.put("countNum",countNum);
map.put("sort",sort);
map.put("symptom",symptom);
map.put("department",department);
map.put("place",place);
map.put("brand",brand);
int count = productService.getProductCount(map);
PageUtil page = new PageUtil(cpage, Page_SIZE, count);
map.put("page",page);
ListproductList = productService.queryProductList(map);
request.setAttribute("productList", productList);
request.setAttribute("page", page);
model.addAttribute("map", map);
return "product/productManage";
}
}
}
}
return "redirect:errorPower";
}
controller对应得接口
ListqueryProductList(Map map);//列表查询
int getProductCount(Mapmap);//分页
业务逻辑层
/**
*Title:getProductCount
*Description: 计算每页商品的数量
*Copyright: Copyright (c) 2018
*Company: www.zhaoge.com
* @author zhaowenjun
* @date
* @version 1.0 */
@Override
public int getProductCount(Mapmap) {
return productMapper.getProductCount(map);
}/**
*Title: queryProductList
*Description:
*Copyright: Copyright (c) 2018
*Company: www.zhaoge.com
* @author zhaowenjun
* @date
* @version 1.0 */
@Override
public ListqueryProductList(Map map) {
return productMapper.queryProductList(map);
}
mapper接口层
ListqueryProductList(Map map);
int getProductCount(Mapmap);
mybatis配置:sql
到此为止了
转载地址:https://blog.csdn.net/qq_39772439/article/details/90634781 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.191.171.4]2022年05月17日 10时16分38秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
多态实现的原理------新标准c++程序设计
2022-04-04
c++小知识
2022-04-04
类型转换构造函数 及使用explicit避免类型自动转换------新标准c++程序设计
2020-01-30 06:35:44
析构函数的调用------新标准c++程序设计
2020-01-30 06:35:44
复制构造函数被调用的三种情况------新标准c++程序设计
2020-01-30 06:35:44
c++内存模型------计算机系统核心概念及软硬件实现
2020-01-30 06:35:43
封闭类------新标准c++程序设计
2020-01-30 06:35:43
类的互相包含------新标准c++程序设计
2020-01-30 06:35:44
this指针------新标准c++程序设计
2020-01-30 06:35:44
指针和动态分配内存 (不定长度数组)------新标准c++程序设计
2020-01-30 06:35:43
string类------新标准c++程序设计
2020-01-30 06:35:43
c++缓冲区------c++ Primer Plus
2020-01-30 06:35:43
stream.fail() eof() EOF
2020-01-30 06:35:42
strcmp返回值布尔类型的判断
2020-01-30 06:35:42
内联函数背景、例子、与普通函数的区别及要注意的地方 ------新标准c++程序设计
2020-01-30 06:35:42
c++ 用new后delete,而继续输出指针后果 new/new[]/delete/delete[]区别
2020-01-30 06:35:42
cin、cout、cerr、clog------c++ Primer Plus
2020-01-30 06:35:42
转 cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
2020-01-30 06:35:42
c++ explicit
2020-01-30 06:35:41
c++ 委托构造函数
2020-01-30 06:35:41