mybatis-plus 多表联合查询指定列排序分页

1.在分页Page类中有一个属性是 List orders

List<OrderItem> orders=new ArrayList<>();
        OrderItem orderItem=new OrderItem();
        orderItem.setColumn("clounm");
        orderItem.setAsc(false);
        orders.add(orderItem);
        Page<T> page=getPage(term);
        page.setOrders(orders);
        mapper.dgpmPage(page,term);

可能会报错 failed to concat orderBy from IPage, exception=null

String sql = "你的sql";
    try {
      CCJSqlParserUtil.parse(sql);
    } catch (JSQLParserException e) {
      e.printStackTrace();
    }

通过这个查找你报错的地方,然后用别的写法代替,在使用mybatis-plus时有些SQL语句没问题的但是编译不通过

2.直接在Mybatis 后加上Order by clounm

这个也可能会报错 除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,用上面方法找到报错的地方进行语句替换。

经验分享 程序员 微信小程序 职场和发展