Condition.getQueryWrapper 的 orderByDesc 顺序问题

Blade 已结 1 156
lsac1999
lsac1999 剑圣 2025-02-19 16:55

一、该问题的重现步骤是什么?

IPage<StoreOutEntity> pages = storeOutService.page(Condition.getPage(query), Condition.getQueryWrapper(storeOut, StoreOutEntity.class).orderByDesc("company_id"));
R.(StoreOutWrapper.().pageVO(pages))

默认生成的sql语句是 

where is_deleted = 0 order by create_time desc, company_id desc limit 10

二、你期待的结果是什么?实际看到的又是什么?

希望能够生成  order by company_id desc, create_time desc 先是 company_id,然后再是create_time。

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex4.3版本

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (最佳回答者)
    2025-02-19 18:17

    getQueryWrapper这个方法没有涉及到order的逻辑呀,返回的就是mybatis-plus不带排序的wrapper。你再检查下原版的写法试试看这个order的排序规则

    CleanShot20250219181626@2x.png

    作者追问:2025-02-19 18:17

    是 create_time 这个字段,我并没有添加 

    .orderByDesc("create_time")

    打印出来的sql,会自动拼凑出来,放在第一位置,如果是其他的字段,自定义顺序是没有问题的。

    image.png

    回答: 2025-02-19 18:17

    看下前端有没有传order的参数

    作者追问:2025-02-19 18:17

    果然是前端给额外增加了一个。。。。。谢谢谢谢!!!!

    0 讨论(1)
代码语言
提交回复