Mybatis-PageHelper icon indicating copy to clipboard operation
Mybatis-PageHelper copied to clipboard

手动指定方言类型

Open al1en-xX opened this issue 1 year ago • 5 comments

  • [ ] 我已在 issues 搜索类似问题,并且不存在相同的问题.

功能建议

建议添加手动指定数据库方言的方法;如PageHelper.setDialect(Dialect.MYSQL) 多数据源场景下,如果有不同版本的sqlserver数据库 该如何配置方言类型

al1en-xX avatar Aug 09 '24 03:08 al1en-xX

支持运行时动态指定使用的 dialect 实现,例如 PageHelper.startPage(1, 10).using("oracle");

或者 PageHelper.startPage(2, 10).using("org.exmaple.CustomDialect");

abel533 avatar Aug 09 '24 05:08 abel533

一开始项目没有设置方言,先调用myql查询后,再调用pgsql,其中在调用pgsql之前使用了PageHelper.offsetPage(10, 10).using("postgresql"); 但是最后解析出来的SQL仍然是mysql的,解析出来是 limit 10, 10 而不是 想要的limit 10 offset 10 就会导致报错,

fengyi9958 avatar Sep 19 '24 06:09 fengyi9958

您的邮件王振已收到 。

cqu2014 avatar Sep 19 '24 06:09 cqu2014

@abel533 这个测试用例通过了吗?我好像也遇到 fengyi9958 类似的情况,我自定义了一个 CustomDialect 运动时指定

PageHelper.startPage(2, 10).using(“xx.CustomDialect”)测试他并没有走内部 CustomDialect 的断点

而 修改了 配置 指定 pagehelper.helperDialect=xx.CustomDialect 则断点执行

看 PageHelperProperties 里面有 helperDialect , Dialect . 而using 方法 则指定了 DialectClass 完全被搞混了

有using 详细的说明吗?

8502596 avatar Jun 10 '25 00:06 8502596

追踪到如下代码 不知道对不对

Image

8502596 avatar Jun 10 '25 02:06 8502596