一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

ssm实现分页查询的实例

时间:2017-12-04 编辑:猪哥 来源:一聚教程网

ssm整合实现分页查询

一、通过limit查询语句实现分页,并展示

1.mapper.xml配置

 

查询user表,从第page项开始,每次返回10条数据

2.index.jsp



 page
 css" href="css/index.css" rel="external nofollow" >


username password sex email createTime updateTime
${u.username} ${u.password} ${u.sex} ${u.email}
首页
上一页
<%=session.getAttribute("page")%>/${ulist[0].number}
)">下一页
末页

3.css

body{
 width: 100%;
 margin: 0;
}
table{
 border:1px solid red;
 text-align: center;
 margin: auto;
 border-collapse: collapse;
}
tr{
 border: 1px solid #ddd
}
th{
 
 font-weight: 700;
 
}
td{
 
}
.page{
 margin: auto;
 
 text-align: center;
 margin-top: 10px;
}
.page_cell{
 float: left;
 
 border:1px solid #F5F5F5;
 margin:2px;
 cursor: pointer;
}
.page_cell:hover{
 -webkit-box-shadow: #777 0px 0px 1px;
}

4.js

/**
 * 下一页
 */
function next_page(page){
 var data = {
  "page":page
 };
 $.ajax({
  type:"post",
  url:"/RoleControl/next_page.do",
  data:JSON.stringify(data),
  dataType:"json",
  contentType:"application/json",
  success:function(data){
   var show_data = document.getElementById("show_data")
   show_data.innerHTML = " ";
   for(i=0; i

5.控制器

@RequestMapping("/index.do")
 public String index(ModelMap map, HttpSession session){
  session.setAttribute("page",1);
  List ulist = userService.selectUsersByPage(0);
  map.put("ulist",ulist);
  return "index";
 }

 /**
  * 用户信息分页查询
  * @param params
  * @return
  */
 @RequestMapping(value = "/next_page.do",method = RequestMethod.POST)
 @ResponseBody
 public String getUsersByPage(@RequestBody JSONObject params){
  // Map paramsMap = JSON.parseObject(params,new TypeReference>(){});
  System.out.println(params.get("page").toString());
  List ulist = userService.selectUsersByPage(Integer.parseInt(params.get("page").toString())*10);
  return JSON.toJSONString(ulist);
 }

问题:在ajax传递json对象的时候,发生了415错误(未知媒体错误)

  

 原因:

会自动注册DefaultAnnotationHandlerMappingAnnotationMethodHandlerAdapter两个bean ,AnnotationMethodHandlerAdapter将会初始化7个转换器,可以通过调用AnnotationMethodHandlerAdapter的getMessageConverts()方法来获取转换器的一个集合 List

ByteArrayHttpMessageConverter 
StringHttpMessageConverter 
ResourceHttpMessageConverter 
SourceHttpMessageConverter 
XmlAwareFormHttpMessageConverter 
Jaxb2RootElementHttpMessageConverter 
MappingJacksonHttpMessageConverter

解决对于json的解析就是通过MappingJacksonHttpMessageConverter转换器完成的。所以就需要加入jackson依赖包:

    
      com.fasterxml.jackson.core
      jackson-core
      2.5.2
    

    
      com.fasterxml.jackson.core
      jackson-databind
      2.5.2
    

加了依赖包后问题就完美解决了,运行结果如下:

  

以上查询的数据是通过存储过程批量插入的:

begin 
  declare pid int;
  set pid = 10000;
  while pid>0 DO
    insert into user values (pid,'pw','sex','email',now(),now());
    set pid = pid-1;
  end while;
end

热门栏目