mybatis 异常:Parameter 'id' not found. Available parameters are

mybatis 异常:Parameter 'id' not found. Available parameters are

  • 错误代码
  • 异常日记
  • 问题原因
  • 解决方法

错误代码

下班前发现同事提交代码报错,错误代码如下所示
sql

    <insert id="addUsTmApplication" keyProperty="id" useGeneratedKeys="true">
        insert into biz_us_tm_application(trademark_id,data) values(#{trademarkId},#{data})
    insert>

异常日记

<== Updates: 1
Releasing transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@61be765e]
19:18:19 ERROR c.z.p.c.o.s.i.OrderImportServiceImpl - error in save us tm import application
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.binding.BindingException: Parameter ‘id’ not found. Available parameters are [data, trademarkId, param1, param2]

问题原因

mybatis解析出错,参数是通过param方式传入的,id无法解析到对应的属性

解决方法

既然没有对象是承接id,就不要在多次一举了,害人又害己

    <insert id="addUsTmApplication" >
        insert into biz_us_tm_application(trademark_id,data) values(#{trademarkId},#{data})
    insert>

你可能感兴趣的:(java,Parameter,'id',not,found.,Available,mysql)