转载自:

SpringBoot整合Mybatis插入数据返回数据库自增id_springboot sqllite executeupdate 返回新增id-CSDN博客


SpringBoot整合Mybatis插入数据返回数据库自增id非常简单,通过一个注解就可以搞定了

@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")

img

插入一条数据测试下

img

img

加上这个注解后,自增的id已经给我们返回了

吗?

请看报错:

Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.executor.ExecutorException: Could not determine which parameter to assign generated keys to. Note that when there are multiple parameters, 'keyProperty' must include the parameter name (e.g. 'param.id'). Specified key properties are [id] and available parameters are [param7, param8, param5, param6, sub_id, param9, pubTime, isPreSale, isNew, param3, param4, param1, param2, brand_id, svd_name, category_id, name, param10, param11, param12, isOnSale, sub_id2, seller_id, desc]
@Insert("insert into goods(name,`desc`,brand_id,category_id,sub_category_id,sub_category_id2," +
"isPreSale,is_new,is_on_sale,svd_name,pubTime,add_seller) values(#{name},#{desc},#{brand_id}," +
"#{category_id},#{sub_id},#{sub_id2},#{isPreSale},#{isNew},#{isOnSale},#{svd_name},#{pubTime},#{seller_id})")

反转了,是因为别人都是用一个类传参的。。。。

所以这个注解是将自增的id传给传入的参数的,而Mapper本身返回的是成功插入的行数。