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>
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐