由于最近项目用的是ibatis,遇见这么一个问题,网上找了很多,也不得其法,希望那个大侠能仗义相助,不胜感激。。。。
出错是:
SqlMapClient operation; SQL []; --- The error occurred in sqlmaps/MessageSQL.xml. --- The error occurred while applying a parameter map. --- Check the updateMessages-InlineParameterMap. --- Check the statement (update failed). --- Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in sqlmaps/MessageSQL.xml. --- The error occurred while applying a parameter map. --- Check the updateMessages-InlineParameterMap. --- Check the statement (update failed). --- Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction
调用代码:
public void update(Long destUserId) {
this.getSqlMapClientTemplate().update("updateMessages", destUserId);
}
sqlMap:
<![CDATA[
update app_message set msg_status=1 where dest_usrid=#destUserId#
]]>
其中,msg_status是integer类型的,dest_usrid是long,而且,如果我在这个地方把语句换成:delete或者select语句,都能够跑起来~~~~也就是说运行到这个语句了,而且update语句单独提出来运行也没有错。
传入参数测试时,我把传入的参数写死,也还是出现这个问题,实在没招了~~~