源码功能点咨询
- [ ] 我已在 issues 搜索类似问题,并且不存在相同的问题.
异常模板
使用环境
- PageHelper 版本: 5.2.1
- 数据库类型和版本: mysql
功能咨询
PageHelper-源码阅读-疑惑点咨询 一、感谢 刘老师,您好。 因公司项目需要,我们团队决定使用MyBatis的相关分页插件,我有幸在github上面阅读您的PageHelper开源项目,通过阅读源码,我有部分疑惑想请教您,若您有空看到了我给您的邮件,万分感谢您百忙中,帮我答疑解惑。 源码版本:pagehelper-spring-boot-starter ->1.3.1 ,PageHelper->5.2.1 二、问题 2.1 AbstractRowBoundsDialect.class 模式是否已经弃用? 查看源码,整体PageHelper可以基于配置文件,配置dialectAlias,启动时指定具体数据库模式处理。(整体模式是采用模板设计方法,基于接口,抽象类,具体数据库实现类,最终运行时适配到固定数据库处理类的模式运行),或者分页调用时,传入的MappedStatement动态获取。 查看registerDialectAlias()方法,基础方言类里面定义的实现类,均和AbstractRowBoundsDialect的实现类没有关系。 我查看您的更新日志,5.0.0 - 2017-01-02
- 增加了基于纯 RowBounds 和 PageRowBounds 的分页实现,在 com.github.pagehelper.dialect.rowbounds 包中,这是用于作为 dialect 参数示例的实现,后面会补充更详细的文档。 现在这个包com.github.pagehelper.dialect.rowbounds。相关的功能是否已经没有使用了?
2.2 大致何时支持PageHelper.startPage(int pageNum, int pageSize,String dbType)功能? 对于多数据源来说,指定数据库类型,避免了基于MappedStatement动态获取,性能更好。
整体模式是采用模板设计方法,基于接口,抽象类,具体数据库实现类,最终运行时适配到固定数据库处理类的模式运行。 这个写的太乱了,专业术语:Java SPI机制。
通过 PageHelper.startPage(1, 10).using("oracle"); 这种方式可以设置数据库类型。