1.启动类中添加注解为 @EnableScheduling 开启调度任务
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.添加定时任务类 ClearDataJob.java
@Component
public class ClearDataJob {
private static final Logger logger = LoggerFactory.getLogger(ClearDataJob.class);
@Resource
private TempService tempService;
@Scheduled(cron = "0 0 0 1/1 * ? ")
public void clearDataJob() {
logger.info("---------定时任务开始执行---------" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
clearData(tempService);
logger.info("---------定时任务执行成功---------" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
}
private static void clearData(TempService tempService) {
try {
tempService.clearTable();
} catch (Exception e) {
logger.error("清理数据失败,失败原因:" + e.getMessage());
}
}
}
3.以上便是主体内容,为使之完善,下面贴出对应的service层与dao层的代码(到层中的TemMapper.java的代码需要根据自己的数据库的情况进行合适的修改)
TempService.java
public interface TempService {
void clearTable();
}
TempServiceImpl.java
@Service
public class TempServiceImpl implements TempService {
@Autowired
TemMapper temMapper;
@Override
public void clearTable() {
temMapper.clearTable();
}
}
TemMapper.java
@Mapper
public interface TemMapper {
@Delete("delete from tempform ")
void clearTable();
}
完整项目地址(本文代码只是其中一小部分,该项目中更多功能代码未在本文展示贴出)
https://gitee.com/lk0423/BookStore