目录
- 概要
- 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,具体取决于您的数据库和持久层框架的支持。