mybatisplus page排序_mybatis 分页插件 mybatis-plus-page

mybatis-plus-page 详细介绍

mybatis分页插件MicroPageInterceptor 特点:

1, 支持mysql和oracle分页

2, 不必在xml编写统计count的sql

3, 使用RowBounds子类PageInfo作为分页信息和记录总数的载体,不必像其他分页插件那样要求输入输出参数必须继承特殊父类。

4, 可在PageInfo中填写自定义排序sql串,提高查询性能和排序灵活性

jar已经提交maven中央库version使用最新的

.

spring 中配置 mybatis 分页插件 MicroPageInterceptor

建议在 sqlSessionFactory 中配置,可以根据 sqlSessionFactory 是 oracle 还是 mysql 配置插件的 dialect 属性

.

Dao接口设置

接口中添加PageInfo参数,表示需要分页处理

.

PageInfo结构

PageInfo继承RowBounds可以透传到Mybatis内部,不影响正常的参数。 pageNo,页数从1开始 pageRows,每页条数 orderStr,自定义排序sql(非必填) total,返回总记录数(返回值)

.

分页或不分页sql在xml中是一样的不需要修改;sql不需要针对pageinfo做额外处理,比如手工添加limit或rownum;不需要分页的则不传PageInfo参数;不需要额外填写count统计sql;

.

Java调用Dao

PageInfo创建实例时需填写pageNo(页数从1开始)和pageRows(每页条数) 如果xml中sql没有orderby语句可以,在pageInfo中设置pageInfo.setOrderStr()

.

注意:

1,自定义排序

如果xml中sql没有写死排序sql,则pageInfo可以设置排序字符串。好处是查询记录个数时不必排序,查询记录时自动拼上排序sql,提高查询性能。也可以不修改xml中sql支持灵活排序。

2,总记录数处理

不必编写额外的查询count的sql;记录数会在插件中设置到pageInfo对象的total字段中带回。


版权声明:本文为weixin_39789525原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。