ibatis删除N天前的数据

<delete id="removeWxMessageByTime">
delete from wx_message
<dynamic prepend="WHERE">
<isNotNull prepend="and" property="created_at"> 
  <![CDATA[ 
    created_at <= #created_at# 
     ]]>
</isNotNull>
</dynamic>
</delete>


定时器:


package com.wizincloud.wxManager.tokenManager;

import java.util.Timer;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import com.wizincloud.base.plat.rad.util.SpringBeanLocator;
import com.wizincloud.wxMessage.service.WxMessageService;

/**
 * @author liuyanliang
 *
 */
public class MessageHandleListener implements ServletContextListener{
private Timer timer = null;

	
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * javax.servlet.ServletContextListener#contextInitialized(javax.servlet
	 * .ServletContextEvent)
	 */
	@Override
	public void contextInitialized(ServletContextEvent sce) {
		
		ServletContext content = sce.getServletContext();
		WxMessageService wxMessageService = (WxMessageService) SpringBeanLocator.getBean(content, "wxMessageService");
		timer = new Timer(true);
		// 设置任务计划,启动和间隔时间(一小时)
		timer.schedule(new MessageHandleTask(wxMessageService), 0, 60*60*1000);
		 
	}
	
	
	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.
	 * ServletContextEvent)
	 */
	@Override
	public void contextDestroyed(ServletContextEvent arg0) {
		if(timer!=null){
			timer.cancel();
		}

	}

}

定时任务:


package com.wizincloud.wxManager.tokenManager;

import java.util.Calendar;
import java.util.Date;
import java.util.TimerTask;

import org.apache.log4j.Logger;

import com.google.gson.Gson;
import com.wizincloud.wxMessage.model.WxMessage;
import com.wizincloud.wxMessage.service.WxMessageService;

/**
 * @author liuyanliang
 * 
 */
public class MessageHandleTask extends TimerTask {

	private static Logger logger = Logger.getLogger(MessageHandleTask.class);
	private static Gson g = new Gson();
	private WxMessageService wxMessageService;

	public MessageHandleTask(WxMessageService wxMessageService) {
		this.wxMessageService = wxMessageService;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.util.TimerTask#run()
	 */
	@Override
	public void run() {
		WxMessage wxMessage = new WxMessage();
		// 删除N天前的数据
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, -3);
		Date nDateBefore = cal.getTime();
		wxMessage.setCreated_at(nDateBefore);
		logger.info("wxMessage:" + g.toJson(wxMessage));
		wxMessageService.delWxMessageByTime(wxMessage);
	

	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十五楼亮哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值