mybatis获取自增的主键
时间: 2023-11-17 09:06:54 浏览: 139
在 MyBatis 中获取自增主键的方式取决于数据库的类型和配置。以下是一种常见的方法:
1. 首先,在你的 SQL 语句中添加 `useGeneratedKeys="true"` 和 `keyProperty="id"` 属性。例如:
```xml
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (username, password) VALUES (#{username}, #{password})
</insert>
```
在这个示例中,`useGeneratedKeys="true"` 告诉 MyBatis 使用自动生成的键,`keyProperty="id"` 指定了将自增主键存储到哪个属性(字段)中。
2. 接下来,在你的 Java 代码中,调用 `insert` 方法执行插入操作,并获取生成的主键值。例如:
```java
User user = new User();
user.setUsername("John");
user.setPassword("123456");
userMapper.insertUser(user);
Long generatedId = user.getId(); // 获取自增主键值
```
在这个示例中,`user.getId()` 将返回生成的自增主键值。
请注意,以上示例假设你已经正确配置了 MyBatis 和数据库连接,并创建了相应的映射器(Mapper)接口和 XML 文件。确保在映射器接口中定义了与 SQL 语句对应的方法。
另外,如果你使用的是 MySQL 数据库,还可以尝试使用 `SELECT LAST_INSERT_ID()` 函数来获取最后插入的自增主键值。这可以在执行插入操作后立即调用一个额外的 SQL 查询语句来获取主键值。
阅读全文