Dao方法及-mapper.xml文件如下所示:
public int updateTaskAfterQuery(String taskId);
<update id="updateTaskAfterQuery" parameterType="String">
update wechat_account_task
set status=1,updateTime=now() where status = 0 and taskId in(${taskId})
</update>
执行时发现报错There is no getter for property named 'num' in 'class java.lang.String'。
解决方法:
1.修改mapper.xml的传参
<update id="updateTaskAfterQuery" parameterType="String">
update wechat_account_task
set status=1,updateTime=now() where status = 0 and taskId in(${ _parameter})
</update>
2.修改Dao方法
public int updateTaskAfterQuery(@Param("taskId")String taskId);
原因分析:
Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起报错