刚毕业入职,新员工压力不是很大
大哥给了个小需求让实现:数据库中表RealA,有个TempA
要求把表RealA中的数据按某种调度规则同步到TempA表中
实现:通过sqartz定时器搞定,一般sqartz会和spring集成使用
触发器Trigger类型有五种:SimpleTrigger CronTrigger DateIntervalTrigger,NthIncludedDayTrigger和Calendar 类( org.quartz.Calendar)。
常用的是SimpleTrigger 和CronTrigger,前者一般是触发一次或者间隔某段时间触发,后者是每XX触发,每天凌晨触发
因此学会了Cron表达式,能看懂
本次定时规则是按照某间隔时间段触发,自己设置的每十分钟触发一次
在写完了调度的时候,同步写入数据时,用的是Mybitis 的resultType
出现了问题是总会提示缺少某个字段的get()方法,
网上好几种解决方案不管用,最后检查了字段配置
原来使用resultType时,配置的字段不会识别下划线、大小写,需要SQL中字段值和实体定义的值一模一样才行
我sql中写的是insert into table(TREENODECODE) values (#{treeNodeCode})
实体定义的private String treeNodecode;
一直运行不起来,本来小菜对mybitis就不了解,何况小菜查问题还很慢,从周一晚上搞到周二晚上,最后还是加班到八点半才找出来问题,最终在成功写入数据库数据的时候,小菜真滴是开心的不得了
Quartz 中五种类型的 Trigger:SimpleTrigger,CronTirgger,DateIntervalTrigger,NthIncludedDayTrigger和Calendar 类( org.quartz.Calendar)。
最常用的:SimpleTrigger:用来触发只需执行一次或者在给定时间触发并且重复N次且每次执行延迟一定时间的任务。
CronTrigger:按照日历触发,例如“每个周五”,每个月10日中午或者10:15分