> 文档中心 > [简单易懂]spring-boot在mysql中使用分页查询回显页面

[简单易懂]spring-boot在mysql中使用分页查询回显页面

个人学习日记,记录在学习过程的中的各种算法操作和技术;

关于分页查询,分页是当有大量数据的时候,不用一次性全部显示出来,从而造成数据显示缓慢.

本项目中蕴含的技术有:spring-Boot;Mybatis;Thymeleaf;Mysql;Maven;

网页中包括:JavaScript;CSS;Jquery;等.

我只把一些关键性的技术代码放出来,有需要或者不懂得可以私信我,拿整套项目源代码.感谢支持!!


首先创建的是一个拥有分页属性的类:get和set方法,还有tostring()方法就不放了,Alt+inset就可以调出来.

分页中所需要的属性:public class pageBean {    private int currPaged1;//当前页数    private int pageSizex1;//每页显示的数据记录数    private int totalPagezy1;//总页数    private int totalCountzx1;//总数据记录数    private List lists;//所有每页显示的数据

接口层的代码:

mapper接口层的代码  //总数据记录数    public int selectCount();    //分页操作    //mapper接口层里返回值和参数要与.xml中的保持一致    public List findByPage(HashMap map);

 service层中代码是和mapper接口不一样的,因为这个是要去调用返回最终输出结果集的

service层中的代码:     //总数据记录数    public int selectCount();    //分页操作    //service层是要去调用的方法,属于要传递到网页的最终返回值    public pageBean findByPage(int currpaged1);

 service实现类中的代码:请注意注解

service实现类中的代码 @Override    public int selectCount() { return userMapper.selectCount();    }    @Override    public pageBean findByPage(int currpaged1) { HashMap map=new HashMap(); pageBean pageBean=new pageBean(); //封装当前页面 pageBean.setCurrPaged1(currpaged1); //封装每页显示多少条数据,4就是每页显示最多4条数据 int pageSize=4; pageBean.setPageSizex1(pageSize); //封装总数据记录数 int tocalCountzx1=userMapper.selectCount(); pageBean.setTotalCountzx1(tocalCountzx1); //总页数 double tc=tocalCountzx1; Double num=Math.ceil(tc/pageSize);//向上取整 pageBean.setTotalPagezy1(num.intValue());      //添加到map集合中,start表示从什么位置开始查,size表示总共查多少数据(相当于什么位置结束); map.put("start",(currpaged1-1)*pageSize); map.put("size",pageBean.getPageSizex1()); //每页封装的数据 List list=userMapper.findByPage(map); pageBean.setLists(list); return pageBean;    }

下面是.xml文件,和mapper接口相对应,在mysql数据库中的操作:

 接下来是主类,去对网页进行传递的Controller类:

Controller类中在网页调用的分页查询的主类:defaultvalue:默认值,网页默认第一页    //    分页操作,默认值是1    @RequestMapping("/show")    public String show(@RequestParam(value="currPaged1",defaultValue="1")int currPaged1, Model model){ model.addAttribute("pagemsg",userServiceimpl.findByPage(currPaged1)); return "user_manage3";    }

下面到HTML网页中:只截取和分页相关的操作内容:

这是一段要显示出来的数据,each:循环出数据,因为是分页,每页只显示3个数据                          男      女            

接下来是分页查询中需要做出对网页更改的操作,比如首页,尾页,下一页等:

注意:值的传递和点击切换.

//当前页 / //当前页 首页  //什么情况下才会显示出上一页的判断 上一页 //什么情况下显示出下一页的判断 下一页 //最后一页 尾页

到此,分页查询关键技术实施完毕,话不多说,看效果图:

这是第一页,也是点击进去之后的默认页:

下面 这是点击下一页之后的页面:

 下面这是点击尾页之后的页面:

下面是点击上一页之后的页面:

 下面这是点击首页的页面:

 执行完毕,总体下来主要是实现类中和首尾页比较费脑,其他都还简单,到此就结束了,感谢观看,有什么不足或者更好建议,欢迎吐槽,一名正在编码路上的少年,在这里算是班门弄斧了,希望各位在探索技术的道路上劈波斩浪,把bug斩在刀下;再见咯!