static ExecutorService fixedThreadPool = Executors.newCachedThreadPool();
@Override
public R insertDemand(TailwindDemand tailwindDemand, Long getUid) {
tailwindDemand.setUserId(getUid);
int i = baseMapper.insert(tailwindDemand);
//取自增长id sql :select max(demandId) from tailwind_demand
Long id = baseMapper.selectId();
TailwindDemand tailwindDemand2 = new TailwindDemand();
tailwindDemand2.setDemandId(id);
tailwindDemand2.setDelFlag(1);
quartz(tailwindDemand2);
if(i==0){
return R.error("新增失败,请联系管理员!");
}else{
return R.ok("新增成功!");
}
}
private void quartz(TailwindDemand tailwindDemand2) {
fixedThreadPool.execute(new Runnable() {
public void run() {
try {
Thread.sleep(1000*60*24);
baseMapper.updateById(tailwindDemand2);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
取自增长的id 一天之后执行逻辑删除
于 2019-11-18 12:04:40 首次发布
本文介绍了一个使用Java实现的定时任务案例,该任务在数据库中插入一条记录,并设置一个定时器,在一天后更新该记录的删除标志。文章详细展示了如何创建线程池,执行定时任务,以及与数据库交互的具体代码。

被折叠的 条评论
为什么被折叠?



