这个只是个人的一些通俗的理解,如果想理解原理还是要看下源码和实现过程,有错误的地方还请指教
这个是PageHepler插件的简单用法,点这里
这是PageHepler源码的一些解析,这是别人的一篇文章
我的controller里使用了这个插件
//page是当前的页码,count是每页需要展示的条数,这个要放在获取数据的前面
PageHelper.startPage(page,count);
List<kexie> list = selectBook.selectbiology();
下面是我的XML文件 SQL语句
<select id="selectbiology" resultType="com.example.bookdemo">
select * from kepuShengwu
</select>
可以看到我的sql 语句是查询所有,但是我想要的是 数据库的 1-5,6-10 这样的,那么PageHelper这个插件就可以帮助我们写相应的SQL。
它的原理就是 在执行 select * from kepuShengwu
这句话前,他会拦截,然后将你的SQL语句 进行改装,像mysql 他就会改成带 limit 的 SQL server 就改成top的 , 就是查询数据库的 你想要的那几条,而不是 查询所有数据 再筛选,这样的话对数据库的压力就变得很小了。