关于ibatis异常一个问题

由于最近项目用的是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语句单独提出来运行也没有错。

传入参数测试时,我把传入的参数写死,也还是出现这个问题,实在没招了~~~

3个回答

表被锁了,你提交事务了吗? 如楼上所说,直接操作数据库看行不行。

把long类型换成String试试。

你不用java.直接数据库软件能更新?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐