目录

    • 概要
    • 1、MyBatis 使用 MySQL 数据库
    • 2、 MyBatis 使用 PostgreSQL 数据库
    • 3、MyBatis-Plus 使用任何数据库
    • 总结

概要

在进行数据库插入操作后,获取自增ID的方式取决于你使用的数据库以及持久层框架。这里将提供几种常见的情况下获取自增ID的方法

1、MyBatis 使用 MySQL 数据库

如果在 MyBatis 中使用 MySQL 数据库进行插入操作,可以通过以下方式获取自增ID

在插入操作后使用 SELECT LAST_INSERT_ID() 查询最后插入的自增ID。

<insert id="insertUser" parameterType="User"></insert><selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER">SELECT LAST_INSERT_ID()</selectKey>

或者,可以在插入操作中使用 useGeneratedKeys=“true” 属性。

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

在这两种情况下,插入后会将自增ID设置到 User 对象的 id 属性中。

2、 MyBatis 使用 PostgreSQL 数据库

对于 PostgreSQL 数据库,可以在插入操作后通过 returning 子句获取自增ID

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

3、MyBatis-Plus 使用任何数据库

如果使用 MyBatis-Plus 进行数据库操作,不需要显式获取自增ID。MyBatis-Plus 会自动将插入后的自增ID设置到实体类的相应属性中。你只需要在实体类中将自增ID的属性与数据库字段进行映射即可。

public class UserService {@Autowiredprivate UserMapper userMapper;public Long insertUser(User user) {userMapper.insert(user);return user.getId(); // 获取自增 ID}// 其他方法...}

在插入操作后,id 属性会被设置为插入生成的自增ID。

总结

无论使用哪种方式,都可以轻松获取插入后的自增ID,具体取决于您的数据库和持久层框架的支持。