今天在使用java框架做数据同步更新时遇到这样一个问题 Invalid bound statement (not found):
框架是基于spring mybatis的,检查程序编写
1在sql的xml里格式
<select id="getConfirmActivityDTO" resultType="sec.crm.thirdpl.vo.WeChatActivityDTO">
<!-- SQL -->
</select>
2在dao里的格式
@MyBatisMapper
public interface JOB_Mapper {
public List<WeChatActivityDTO> getConfirmActivityDTO();
}
3在业务方法的格式
@Service("job_BIZ")
public class JOB_BIZIMPL implements JOB_BIZ {
@Inject
private JOB_Mapper mapper;
......
}
4 在task中格式
@Component(value = "job_SYN_Task")
public class JOB_SYN_Task implements Runnable {
@Inject
JOB_BIZ job_BIZ;
}
从上面程序编写中未发现异常,于是主要关注配置文件,在定时任务的配置中发现
<bean id="JOB_SYN_Trigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="JOB_SYN_Detail" />
</property>
<property name="cronExpression">
<value>2 * * * * ?</value>
</property>
</bean>
为测试方便,定时任务配置成2s启动一次,导致程序没有搜索IOC对象注入的时间,所以报错,调整程序启动时间间隔后,不在报此问题