使用 mybatis-plus的 自定义排序 queryWrapper.orderByAsc("convert ( position using gbk ) "); 如何不忽略 ( position using gbk )中的空格
时间: 2024-04-09 21:33:59 浏览: 166
在使用MyBatis-Plus的`queryWrapper.orderByAsc()`方法进行自定义排序时,如果想要保留字符串中的空格,可以使用特殊字符进行占位。
你可以将空格替换为特殊字符,如下划线 `_`,以保留空格的位置。在排序时,再将特殊字符替换回空格即可。
以下是一个示例代码:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 创建 QueryWrapper 对象
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
// 自定义排序
String orderBy = "convert(_( position using gbk )_)"; // 将空格替换为特殊字符
queryWrapper.orderByAsc(orderBy.replace("_", " ")); // 将特殊字符替换回空格
// 执行查询
List<Entity> list = yourMapper.selectList(queryWrapper);
```
在示例代码中,我们使用`convert(_( position using gbk )_)`进行自定义排序,其中`_`是特殊字符用于占位。在排序时,我们通过`orderBy.replace("_", " ")`将特殊字符替换回空格。
请根据你的具体情况修改示例代码中的实体类、Mapper接口和方法名,并确保已正确导入相关类。
阅读全文