问题场景
Mybatis-Plus 是 MyBatis 的增强框架,简化了 CURD 和分页操作。YashanDB 可兼容使用 Mybatis-Plus,但如未正确配置分页插件,可能会报错或查询失败。
影响范围
YashanDB 所有版本
使用 Mybatis-Plus 且未配置分页方言的项目
正确配置方式
步骤一:配置 PageHelper 支持的数据库方言
由于 YashanDB 语法支持 Oracle 的 ROWNUM 和 MySQL 的 LIMIT,所以两种方式都可选。
以 Oracle 为例:
`pagehelper:
helperDialect: oracle`
或使用 MySQL:
`pagehelper:
helperDialect: mysql`
步骤二:设置分页拦截器为对应数据库类型
Oracle 写法示例:
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.ORACLE));
MySQL 写法示例:
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
常见错误示例:
错误写法:
`
return new Page<>(); // 忘记设置属性`
应改为:
Page page = new Page<>(pageNum, pageSize);
return page;
建议总结
YashanDB 同时兼容 Oracle 和 MySQL 分页语法;
拦截器配置务必与 PageHelper 方言保持一致;
控制层调用 service 层时直接传 page 对象即可,分页逻辑自动完成。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。