Bootstrap

mysql执行完返回id,MyBatis + MySQL返回插入成功后的主键id

原代码

insert into ssm_article(article_title,article_create_date,article_content,add_name)

values(#{articleTitle},#{articleCreateDate},#{articleContent},#{addName})

修改后

insert into ssm_article(article_title,article_create_date,article_content,add_name)

values(#{articleTitle},#{articleCreateDate},#{articleContent},#{addName})

在insert中将useGeneratedKeys属性设置为true,并制定keyProperty为Article对象的id,关于这两个参数,官方文档解释如下:

useGeneratedKeys

允许 JDBC 支持自动生成主键,需要数据库驱动支持。如果设置为 true,将强制使用自动生成主键。尽管一些数据库驱动不支持此特性,但仍可正常工作(如 Derby)。默认false

keyProperty

(仅适用于 insert 和 update)指定能够唯一识别对象的属性,MyBatis 会使用 getGeneratedKeys 的返回值或 insert 语句的 selectKey 子元素设置它的值,默认值:未设置(unset)。如果生成列不止一个,可以用逗号分隔多个属性名称。

;