随笔记录
MyBatis-Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
2015-12-4 diaba


使用mybatis框架实现数据持久化时,出现Improper inline parameter map format.  Should be: #{propName,attr1=val1,attr2=val2}错误,



异常产生代码







数据库表主键ID类型为int,Auto increment类型,对应的sqlMap中设置为:








    <insert id="insert" >
<![CDATA[
INSERT INTO TableName (
ID ,
...
) VALUES (
#{id, jdbcType=INT UNSIGNED} ,
...
)
]]>
</insert>



其中设置的值jdbcType=INT UNSIGNED,导致上述错误,需要设置为:




    <insert id="insert" >
<![CDATA[
INSERT INTO TableName (
ID ,
...
) VALUES (
#{id, jdbcType=BIGINT} ,
...
)
]]>
</insert>




上述问题解决。



在网上查得的解决方案是:



org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Improper inline parameter map format.  Should be: #{propName,attr1=val1,attr2=val2}




  <insert id="insertXXOrder" parameterType="yyOrder">
    insert into XX_ORDER(
  。。。,
  MX_NOTIFY_URL
  )
 values(
  。。。,
  #{mxNotifyUrl,jdbcType VARCHAR}  )
 
分析:
 mybatis规范写法:“#{propName,attr1=val1,attr2=val2}”,“=”号左右两边均无空格




因此:
 “#{mxNotifyUrl,jdbcType = VARCHAR}”正确写法:“#{mxNotifyUrl,jdbcType=VARCHAR}”




(完)






评论:
bqwrhszmo
2016-09-18 16:24 回复
MyBatis-Improper inline parameter map format.  Should be: #{propName,attr1=val1,attr2=val2} - 韭菜园
bqwrhszmo http://www.g96t78s8o533v35l5buw29m7a7fzcys4s.org/
<a href="http://www.g96t78s8o533v35l5buw29m7a7fzcys4s.org/">abqwrhszmo</a>
[url=http://www.g96t78s8o533v35l5buw29m7a7fzcys4s.org/]ubqwrhszmo[/url]
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容