美文网首页
MyBatis + MySQL返回插入成功后的主键id

MyBatis + MySQL返回插入成功后的主键id

作者: 匪石1941 | 来源:发表于2020-12-08 22:25 被阅读0次

    原代码

     <insert id="insertArticle" parameterType="Article">
    insert into ssm_article(article_title,article_create_date,article_content,add_name)
    values(#{articleTitle},#{articleCreateDate},#{articleContent},#{addName})
    </insert>
    

    修改后

     <insert id="insertArticle" useGeneratedKeys="true" keyProperty="id" parameterType="Article">
    insert into ssm_article(article_title,article_create_date,article_content,add_name)
    values(#{articleTitle},#{articleCreateDate},#{articleContent},#{addName})
    </insert>
    

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

    useGeneratedKeys

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

    keyProperty

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

    相关文章

      网友评论

          本文标题:MyBatis + MySQL返回插入成功后的主键id

          本文链接:https://www.haomeiwen.com/subject/xgxcgktx.html