欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

The error occurred while applying a parameter map.

程序员文章站 2022-03-08 08:17:19
...

关于“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#,

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

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