The error occurred while applying a parameter map.

关于“The error occurred while applying a parameter map.”的问题,

今天我也写一点,那就是找准改错的方向,不然小错费大事

我今天的错误:如下

更新userMain失败org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation;

bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:  
--- The error occurred in com/hunai/pojo/sqlmap/umUserMain-sqlmap.xml. 
--- The error occurred while applying a parameter map. 
--- Check the UserMain.updateUmPwd-InlineParameterMap. 
--- Check the statement (update failed). 
--- Cause: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where         mum.UM_UserID=37' at line 1

 

出错地方:

<update id="UserMain.updateUmPwd">
     <![CDATA[
      
      update 
       mi_user_main mum
      set
       mum.UM_Pwd=#1#,
      where
       mum.UM_UserID=#2#
     ]]>
   </update>

遇到“The error occurred while applying a parameter map”这种错误,首先想到的是字段对应的错误,

但是像这种低价错误,iBATIS会很明确的指出出错的地方的。

这种想法应该排除的。

不过上面很明显说是bad SQL grammar ;

那就把这个语句粘贴到数据库做个测试,不能去瞎找,我今天就犯了很大的错误,

没有寻本求源,总感觉sql语法不会有问题,就去瞎忙活,看下传参是否出错呀,之类的,整了老半天,

最后实在想不出是什么地方出错,就到数据库测试语句,果然,根本性的原因还是sql语句,多了一个逗号

 set
       mum.UM_Pwd=#1#,

唉,真是惭愧呀,这么低级的错误本不该发生,可是,发生了,会让人很苦恼。

所以,方向与方法非常重要,少走弯路。

 

你可能感兴趣的:(sql,mysql,jdbc,ibatis,SQL Server)