为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:8 【操作系统】:win10 【CPU】: 【问题描述】*:偶然间发现,在mybatis的update标签下,使用 useGeneratedKeys="true" keyProperty="id",返回的id是错的,和以前insert标签返回错的是一个问题。希望官方能修复下
您参考一下: getGeneratedKeys 的规范限制:getGeneratedKeys() 方法通常用于 INSERT 操作,返回由数据库自动生成(如自增列)的新值。在 UPDATE 操作中,即使你更新了某个自增列的值,JDBC 规范也不保证通过 getGeneratedKeys() 返回任何值。 MyBatis 的处理逻辑:MyBatis 对 INSERT 和 UPDATE 操作返回值的处理方式不同。 标签执行后,默认返回的是数据库受影响的行数,而不是实体对象中更新的 ID。 建议使用 selectKey 子标签 在 标签内使用 子标签,在更新操作执行前后通过自定义 SQL 显式查询并回填 ID。
您参考一下: 标签执行后,默认返回的是数据库受影响的行数,而不是实体对象中更新的 ID。 标签内使用 子标签,在更新操作执行前后通过自定义 SQL 显式查询并回填 ID。
getGeneratedKeys 的规范限制:getGeneratedKeys() 方法通常用于 INSERT 操作,返回由数据库自动生成(如自增列)的新值。在 UPDATE 操作中,即使你更新了某个自增列的值,JDBC 规范也不保证通过 getGeneratedKeys() 返回任何值。
MyBatis 的处理逻辑:MyBatis 对 INSERT 和 UPDATE 操作返回值的处理方式不同。
建议使用 selectKey 子标签
在