We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当不使用_COUNT去重写count语句时,原查询语句会经过拦截器然后修改成新sql,之后自动生成的count语句也会基于新sql生成,这没问题是我想要的结果。 当使用自定义_COUNT去重写count语句时,原查询语句会经过拦截器然后修改成新sql,但是自定义_COUNT语句却没有变化,这导致了查询结果与查询条数不一致。我尝试在原查询语句进入拦截器的同时去处理_COUNT的BoundSql,但是进入PageInterceptor后识别到有自定义_COUNT方法时是重新获取_COUNT方法的原sql并不是我修改后的sql。我期望的是自定义_COUNT语句也可以进入自定义拦截器或者在PageInterceptor中获取到我修改后的_COUNT sql
The text was updated successfully, but these errors were encountered:
能否在当前项目加个单元测试复现问题?
Sorry, something went wrong.
单元测试
mapper中的查询方法,被@SalesOwnerCondition标注的是需要经过拦截器处理的方法(实际_COUNT方法未进入拦截器)
拦截器部分代码,主要是经过业务处理后得到newSql然后通过反射设置回BoundSql中(查询数据sql进入到此处并成功修改了sql)
mybatisplus执行的sql log
No branches or pull requests
问题描述
当不使用_COUNT去重写count语句时,原查询语句会经过拦截器然后修改成新sql,之后自动生成的count语句也会基于新sql生成,这没问题是我想要的结果。
当使用自定义_COUNT去重写count语句时,原查询语句会经过拦截器然后修改成新sql,但是自定义_COUNT语句却没有变化,这导致了查询结果与查询条数不一致。我尝试在原查询语句进入拦截器的同时去处理_COUNT的BoundSql,但是进入PageInterceptor后识别到有自定义_COUNT方法时是重新获取_COUNT方法的原sql并不是我修改后的sql。我期望的是自定义_COUNT语句也可以进入自定义拦截器或者在PageInterceptor中获取到我修改后的_COUNT sql
使用环境
The text was updated successfully, but these errors were encountered: