若依-自定义分页sql出现两个limit问题

时间:2025-04-27 11:42:57

这种事情一定是分页插件搞得鬼,毕竟能悄咪咪给你sql拼接其他东西的只有它了。

问题

我们用的若依系统,正常情况是类继承baseController,在需要分页的方法的第一行先调用startPage()方法。然后获取数据,将数据做为参数放入getdatatable()方法中返回即可。

   class controller extends BaseController{

@GetMapping("/selectMajor")
 public TableDataInfo selectSpecialtyContrast(String majorName){
        startPage();
        List<Map<String,Object>> mapList  = (majorName);
        return getDataTable(mapList);
    }
}

但是当我的业务逻辑需要更复杂的数据的时候,比如我要将多表数据拼接成json,我们简单的分页就不合适。我们会根据实际情况,编写sql来获取我们需要的数据。

此时,类虽然继承了BaseController,但是我们没有使用startPage()方法来做分页,但是你后端接收的参数里面有pageSize和pageNum这两个参数的话,若依的分页插件就会向你的sql后面拼接一个limit,加上字编写的limit,就会出现两个。

我还没深究若依分页的实现‘。我猜测是用拦截器做了一些判断,直接拦截了pageSize和pageNum这两个参数,去做了一些处理。

好,那我就把参数改了,改成了pagesizepagenumber,再次尝试没有问题,解决。

@ApiOperation("订单查询")
    @Log(title = "订单管理-查询",businessType = )
    @GetMapping("/selectOrder")
    public AjaxResult selectOrder(@RequestBody YxGoodsOrderVo yxGoodsOrderVo){
        //查询订单-联查符合条件的order
        int count = (yxGoodsOrderVo);
        //处理数据
        if (count > 0){
            List<YxGoodsOrder> orderList = (yxGoodsOrderVo);
           }
        //......其他处理
}
@Data
public class YxGoodsOrderVo implements Serializable {

    public static final long serialVersionUID = 1L;

            private Integer pagesize;

            private Integer pagenumber;

            private Integer pageBegin;
}