使用mybatisplus实现根据时间进行排列,并且分页显示
时间: 2023-05-28 14:07:27 浏览: 277
1. 在实体类中添加时间字段,并使用注解指定数据库字段名和格式。
```java
public class User {
@TableField(value = "create_time", fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime;
}
```
2. 在Mapper接口中添加查询方法,使用MybatisPlus提供的Wrapper构造查询条件,指定按照时间降序排列。
```java
public interface UserMapper extends BaseMapper<User> {
List<User> selectByCreateTimeDesc(Page<User> page, @Param(Constants.WRAPPER) Wrapper<User> wrapper);
}
```
3. 在Service层调用Mapper接口中的查询方法,并将结果封装到Page对象中进行分页。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public IPage<User> getUserListByCreateTimeDesc(int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByDesc("create_time");
return userMapper.selectByCreateTimeDesc(page, wrapper);
}
}
```
4. 在Controller中调用Service层的方法,将结果返回给前端。
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Result getUserListByCreateTimeDesc(@RequestParam("pageNum") int pageNum,
@RequestParam("pageSize") int pageSize) {
IPage<User> userList = userService.getUserListByCreateTimeDesc(pageNum, pageSize);
return Result.success(userList);
}
}
```
阅读全文