使用mybatisplus的分页怎么根据前端传回来的排序规则asc或desc,和需要排序的字段,但是字段是驼峰和数据库的字段不匹配如何调整
时间: 2024-03-02 13:53:35 浏览: 228
使用Mybatis Plus的分页可以使用Page对象的orderBy方法来指定排序规则和排序字段。例如:
```java
Page<User> page = new Page<>(1, 10);
page.setOrderByDesc("create_time"); // 根据create_time字段降序排序
```
如果需要根据前端传回来的排序规则和字段进行排序,可以先将前端传回来的字段名转换成数据库字段名,然后再调用orderBy方法。可以使用Mybatis Plus提供的列名下划线转驼峰方法(columnNameToProperty)和驼峰转下划线方法(propertyToColumnName)进行转换。例如:
```java
String sortField = "createTime"; // 前端传回来的字段名
String sortOrder = "desc"; // 前端传回来的排序规则
// 将字段名转换成数据库字段名
String orderField = StringUtils.camelToUnderline(sortField);
Page<User> page = new Page<>(1, 10);
if ("asc".equals(sortOrder)) {
page.setOrderByAsc(orderField); // 根据转换后的字段名升序排序
} else {
page.setOrderByDesc(orderField); // 根据转换后的字段名降序排序
}
```
以上示例中,StringUtils是Mybatis Plus提供的字符串工具类,其中camelToUnderline方法将驼峰命名转换成下划线命名。注意,如果字段名和数据库字段名已经匹配,不需要进行转换。
阅读全文