Mybatis分页插件的原理

发布时间 2023-03-23 16:43:36作者: 嗝`

首先分页参数放到ThreadLocal中,拦截执行的sql,根据数据库类型添加对应的分页语句重写sql,例如

select * from table where a

转换为(根据数据库类型添加对应语句):

select count(*) from table where a
和
select * from table where a linit ,

计算出total总条数,pageNum当前第几页,pageSize每页大小和当前页的数据。是否为首页,是否为尾页,总页数等。