分页查询可以说是JavaWeb的必经之路,以前见过的分页查询需要的打的代码非常多,又是算数又是转型,先别提看不看得懂,光是看一眼我估计你都是不想接着学了,所以我这篇文章就应运而生了。我这篇文章的意义就在于我要用最短的篇幅来搞定分页查询,那就开始吧
分页查询
我打算用PageHelper来进行分页查询,PageHelper的使用是非常简单的,想要使用它你就必须引入包,如果你是Maven项目的话你可以到maven repository下搜索pagehelper,拿到你想要的版本,把他添加在pom.xml文件下。如果你不是Maven项目的话,我觉得你可以去下个他的jar包再导入进项目就好使了,虽然说jar包肯定有至于去哪下我也不清楚。反正我是在maven项目里中使用的。
在dependencies中引入PageHelper分页插件,然后
总所周知,如果你想要顺滑的使用分页,那你必然是在service层中完成分页的逻辑,关于这个插件我看网上大多数人都写在了controller层里,而我不做大多数,I do it my way
其实刚刚牛皮吹的那么响,结果代码没几行,我还挺羞射的....其实思路也非常的简单,service就是一个接口没什么好说的,servIceImpl是service接口的实现类,作为Service的实现类,你需要打上service注解,让程序认出你是service层的代码。你写service层的代码就肯定会调用dao层的代码,调用后再给他加一个Autowired的注解,让他把这个东西装进ioc容器中。传入一个Integer类型的pn,这个pn不好解释,我举个例子就是你有10页要显示,pn传的1,那他就进到第一页,传的5,他就进入到第五页,相当于是初次显示的页数,(pn,5)里的5表示一页有5条记录,startPage来启动插件,接着做一个查询返回你所查到的信息并将它们放入一个List容器中,把这个容器交给PageInfo,再把它交给controller层。controller层规定pn默认值是1,再把它添加进mode里,就可以显示出来了
做好了之后你可以在list.jsp中使用pageInfo的一系列参数来使用它,可以读一下这个官方文档PageHelper,写的很详细,还附上了例子