码上敲享录 > Mybatis面试题 > MyBatis中如何进行插入时获取自增主键?

MyBatis中如何进行插入时获取自增主键?

上一章章节目录下一章 2023-07-16已有168人阅读 评论(0)

在 MyBatis 中,可以通过以下几种方式在插入数据时获取自增主键:


1. 使用 `<selectKey>` 标签:在 XML 配置文件的插入语句中使用 `<selectKey>` 标签来获取自增主键。示例代码如下:


  ```xml

  <insert id="insertUser" parameterType="User">

    <selectKey keyProperty="id" resultType="Long" order="AFTER">

      SELECT last_insert_id() AS id

    </selectKey>

    INSERT INTO user (name, age) VALUES (#{name}, #{age})

  </insert>

  ```


  在此示例中,`<selectKey>` 标签将会在插入语句执行后执行,查询数据库的自增主键值,并将其赋值给 `id` 属性。


2. 使用 `useGeneratedKeys` 属性:在 XML 配置文件的插入语句中,可以设置 `useGeneratedKeys` 属性为 `true`,并指定 `keyProperty` 属性为自增主键的字段名。示例代码如下:


  ```xml

  <insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">

    INSERT INTO user (name, age) VALUES (#{name}, #{age})

  </insert>

  ```


  当执行插入语句后,MyBatis 会将生成的自增主键值赋值给 `id` 属性。


3. 使用数据库厂商自身的函数:某些数据库厂商提供了获取自增主键值的函数。在插入语句执行后,可以使用数据库厂商提供的函数来获取自增主键值。具体的函数名称和用法请参考对应数据库的文档。


需要注意的是,自增主键的获取方式取决于使用的数据库和数据库驱动程序的支持。在实际使用中,可以根据数据库和驱动程序的不同,选择合适的方式来获取自增主键。


向大家推荐《Activiti工作流实战教程》:https://xiaozhuanlan.com/activiti
0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交