mysql计算当天过生日的人

首先需要建立一个定时的任务,定时检测当天过生日的人,如下:

/**
	 * 生日提醒,每天的9点钟提醒
	 * */
	@Scheduled(cron = "0 0 9 ? * *")
	@Transactional(rollbackFor = {Exception.class}, propagation = Propagation.REQUIRED)
	public void birthdayReminder() {
		//检测人员信息管理数据库中的生日时间和当前时间是否相差整数年
		//返回今天要过生日的人员数据
		List<EmployeeDetail>  employeeDetailList = employeeDetailDao.selectBirthday();
		if(employeeDetailList.size() > 0){
			//消息推送功能,待定

		}
	}

其中使用注解的方式实现定时,同时也可以使用 @Scheduled(fixedRate = 120000) 注解,表示2分钟执行一次,具体的 @Scheduled(cron = “0 0 9 ? * *”)表达式请自行百度:
然后,在数据库中查询满足条件的数据,具体表达式如下:

 <select id="selectBirthday" resultType="com.jwkj.api.web.entity.EmployeeDetail">
        SELECT
        <include refid="Base_Column_List"/>
        from employee_detail
        WHERE
        birthday is not null and
        MONTH(birthday) = MONTH(NOW()) and DAY(birthday) = DAY(NOW())
    </select>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值