一、启动类:加@EnableScheduling注解 开启定时功能
package com.yyt.jdfyakfp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling//开启定时功能的注解
public class TaskApplication {
public static void main(String[] args) {
SpringApplication.run(TaskpApplication.class, args);
}
}
二、Service层:
package com.yyt.jdfyakfp.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yyt.jdfyakfp.common.DateUtil;
import com.yyt.jdfyakfp.entity.Logs;
import com.yyt.jdfyakfp.mapper.LogsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class ScheduledService {
@Autowired
private LogsMapper logsMapper;
@Scheduled(cron = "0 0 2 * * ?")
public void deleteLogs(){
//获取到当前时间三个月前的一天
String time = DateUtil.formatDateByDay(DateUtil.getAppointDate(new Date(), -90));
System.out.println(time);
//如果是大于一月前的这个时间的 就删除
QueryWrapper<Logs> logsQueryWrapper = new QueryWrapper<Logs>()
.lt("date",time);
if (logsMapper.delete(logsQueryWrapper) > 0) {
System.out.println("成功");
}else {
System.out.println("失败");
}
}
}