强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
简介
分页功能是非常常见的,这里的分页插件叫做PageHelper,使用之前的sql语句方式分页查询需要程序开发人员自己写全如:select * from t_user limit 1 to 10 这样的语句查出前10条,这样写是非常麻烦的,而且我们还需要查回来总的记录数,在这样的情况下,mybatis的分页就派上了大用场,使得程序员的开发工作量省去了很多。mybatis的分页插件支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL,DB2,SqlServer(2005,2008),Informix,H2,SqlServer2012。
原理
简单的对数据库操作的原理如下图:
在使用分页插件时,原理如下图,在执行MappedStatement前拦截请求的sql语句,拦截的方法是prepare,再将我们设置的pageNum和pageSize拼接到Sql中,将拼接好的sql返回,然后去执行返回的新拼接好的sql语句。