abel533 / Mapper

Mybatis Common Mapper - Easy to use
https://mybatis.io
MIT License
7.32k stars 1.63k forks source link

selectOneByExample #858

Open BySjm opened 2 years ago

BySjm commented 2 years ago

Hi, 我在使用selectOneByExample方法的时候,出现了追加了Limit关键字的情况,请问这种情况是随机追加的吗?因为我在后来的测试中并没有遇到追加的情况。我使用的version:2.0.4,由于某些原因我没法升级版本,我可以通过什么方式避免这种情况的发生吗? 如果你能回复我,非常感谢~

BySjm commented 2 years ago

我在方法里面加了example.setOrderByClause("id desc limit 1");

abel533 commented 2 years ago

是你自己加的?

用分页插件PageHelper了吗?如果用了,看看有没有使用不当的地方。

BySjm commented 2 years ago

并没有使用PageHelper,之前都是没有问题的,就出现了一次这样的问题

BySjm commented 2 years ago

我在方法里面加了example.setOrderByClause("id desc limit 1"); 但是他sql是最终结果是limit 1 LIMIT 10,后面的这个 LIMIT 10像是插件给拼接的,我确认自己用PageHelper 所以使用selectOneByExample会不会有偶然的拼接操作?

abel533 commented 2 years ago

确认自己用PageHelper了?

看看这里:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md#3-pagehelper-%E5%AE%89%E5%85%A8%E8%B0%83%E7%94%A8

BySjm commented 2 years ago

打错字了,,,确定自己没用,哭 : (

abel533 commented 2 years ago

setOrderByClause别乱用了。如果不清楚SQL是怎么回事,可以考虑在mybatis加断点看看最终之前前的SQL什么样子。

搜索 BoundSql 看看。