当前使用版本(必填,否则不予处理)

3.2.0

该问题是如何引起的?(确定最新版也有问题再提!!!)

传入字段名,不能排序(3.4.0中也存在)

重现步骤(如果有就写完整)

分页查询,传入 { "orders": [ { "asc": false, "column": "createTime" } ] }

报错信息

java.sql.SQLSyntaxErrorException: Unknown column 'createTime' in 'order clause'

解决办法

  1. 前端传入 create_time , 这样的话要告诉前端每个排序字段,个人不建议;
  2. 前端转入 createTime 后,后端手动转化为create_time,个人不建议,每个人分页都转,重复工作,无意义;(要么自己写个拦截器,感觉意义不大)
  3. mybatis 框架直接处理,推荐 在com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor#addOrderByElements方法中 element.setExpression(new Column(item.getColumn())); 将item.getColumn()转换一成下划线。

3.4.0中com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor#addOrderByElements中同理。

            element.setExpression(new Column(StringUtils.camelToUnderline(item.getColumn())));

MyBatis-Plus 排序字段驼峰转下划线 网络不好,推不了代码☺

Comment From: miemieYaho

自己处理