ssm分页条件查询(纯ajax写不含任何样式)

ssm分页条件查询(纯ajax写不含任何样式)_第1张图片
首先啊!我用的ssm框架,我得springmvc应该是4.0的,然后在这个xml文件里加如下代码,作用是用到@ResponseBody自动把返回值转化为json:

 
        
            
            	
               
            
        
    

还有用到fastjson jar包,主要的是最后三个,第一个我看也是fastjson,我就贴上来了,不知道少第一个会不会出错

	
	    com.alibaba
	    fastjson
	    1.2.4
	
	
     com.fasterxml.jackson.core
     jackson-core
     2.7.3
   
  
  com.fasterxml.jackson.core
  jackson-databind
  2.7.3
  
  
    com.fasterxml.jackson.core
    jackson-annotations
    2.7.3
		

然后是工具类 分页的工具类:

public class PageHolder {

    private int curPage;// 当前页
    private int pageNum;// 每页条数
    private int totalCount;// 总记录数
    private int totalPage;// 总页数
    private int offset;// 起始记录数
    private List data;// 数据

    public PageHolder(int curPage, int pageNum, int totalCount) {
        this.curPage = curPage;
        this.pageNum = pageNum;
        this.totalCount = totalCount;
        init();
    }

    private void init() {
        processTotalPage();
        processOffset();
    }

    private void processTotalPage() {
        this.totalPage = (totalCount % pageNum) == 0 ? totalCount / pageNum : totalCount / pageNum + 1;
    }

    private void processOffset() {
        this.offset = (curPage - 1) * pageNum;
    }

    public int getCurPage() {
        return curPage;
    }

    public int getPageNum() {
        return pageNum;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public int getTotalPage() {
        return totalPage;
    }

    public int getOffset() {
        return offset;
    }

    public List getData() {
        return data;
    }

    public void setData(List data) {
        this.data = data;
    }
}

还有返回封装类:

package com.jk.shop.model;

public class ResultData {
	 /**
     * 信息状态码,0表示成功,1表示失败
     */
    private Integer code;
    /**
     * 提示信息
     */
    private String msg;
    /**
     * 返回的对象,因为有分页信息,方便返回json数据见名之意,这里直接变量名为pageInfo。
     */
    private T pageInfo;

    /**
     * 成功时调用的函数
     * @param object 要返回的对象
     * @return
     */
    public static ResultData success(Object object) {
        ResultData result = new ResultData();
        result.setCode(200);
        result.setMsg("成功");
        result.setPageInfo(object);
        return result;
    }

    /**
     * 成功时,如果没有要返回的对象,调用此方法
     * @return
     */
    public static ResultData success() {
        ResultData result = new ResultData();
        result.setCode(200);
        result.setMsg("成功");
        result.setPageInfo(null);
        //return success(null);
        return result;
    }

    /**
     * 失败时调用的函数
     * @return
     */
    public static ResultData fail() {
        ResultData result = new ResultData();
        result.setCode(100);
        result.setMsg("失败");
        return result;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getPageInfo() {
        return pageInfo;
    }

    public void setPageInfo(T pageInfo) {
        this.pageInfo = pageInfo;
    }

    @Override
    public String toString() {
        return "ResultData{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", pageInfo=" + pageInfo +
                '}';
    }
}

 
  

然后是前端页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core" %>





客户列表






   客户民称:
增加客户   
客户名称 联系人 联系号码 余额 用户类型 销售人 标签 操作
当前页:

然后是controller的和sql.xml,service和持久层,我就不写了,没啥逻辑,自动生成就行,

@Controller
@RequestMapping("/kehu")
public class KehuController {
	@Autowired
	private KehuService kehuService;
	@Autowired
	private ZihaomaService zihaomaService;
	
	
	/**
	 * 调到查询页面
	 * @return
	 */
	@RequestMapping(value="/jumppage")
	public String jumppage(){
		
		return "kehu/list2";
	}
	 
	/**
	 * 分页查询
	 * @param name
	 * @param curPage
	 * @param pageNum
	 * @return
	 */
	@RequestMapping(value="/pageKepu")
	@ResponseBody
	public ResultData pageKepu(@RequestParam(value="name",required=false)String name,@RequestParam(value="curPage",required=false)Integer curPage,@RequestParam(value="pageNum",required=false)Integer pageNum){
		KehuExample kehuExample=new KehuExample();
		kehuExample.setName(name);
		
		//查询总条数,记住带查询条件,就算是空也没事,sql.xml做判断
		int totalCount = kehuService.selectcount(kehuExample);
		
		
		PageHolder pageinfo=new PageHolder(curPage, pageNum,totalCount);
		
		//这个就是查询分页的(带查询参数和一些分页用到的参数)
		List list=kehuService.findPageListBySQL(pageinfo.getOffset(),pageNum,name);
		pageinfo.setData(list);
		return ResultData.success(pageinfo);
	}
 
  

这是查询总条数的sql:

 

这是分页的sql:


然后是页面效果
ssm分页条件查询(纯ajax写不含任何样式)_第2张图片
ok啦,应该有的地方写的用的笨方法,如果有好的方法,请评论哦~

你可能感兴趣的:(ssm,java,ajax,分页)