mybatis新增完怎么返回主键
时间: 2023-09-04 15:03:47 浏览: 440
在MyBatis中,当我们向数据库插入一条记录时,可以通过以下步骤来获取返回的主键:
1. 首先,需要在Mapper.xml文件中设置主键生成策略。可以使用数据库自动生成主键的方式,如MySQL的自增长主键,或者使用插入语句返回主键的方式。
2. 在Mapper.xml文件中,使用`<insert>`标签定义插入语句,并设置对应的主键生成策略。例如,可以在`<insert>`标签内添加`useGeneratedKeys="true"`来开启使用数据库自动生成主键的功能,或者添加`keyColumn`和`keyProperty`属性来指定返回主键的列名和实体类中表示主键的属性名。
3. 在Java代码中,调用MyBatis的`insert`方法来执行插入操作。可以使用`org.apache.ibatis.session.SqlSession`接口提供的`insert`方法,传入对应的Mapper方法和插入的实体对象。
4. 在插入完毕后,可以通过实体对象中的主键属性来获取返回的主键值。如果`keyProperty`属性正确设置,MyBatis会自动将返回的主键值设置到实体对象的对应属性中。
例如,在Mapper.xml中可以有如下定义:
```xml
<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (username, password) VALUES (#{username}, #{password})
</insert>
```
在Java代码中可以这样使用:
```java
User user = new User();
user.setUsername("test");
user.setPassword("123456");
sqlSession.insert("UserMapper.insertUser", user);
System.out.println("新增的主键值为:" + user.getId());
```
以上是一种常见的获取返回主键的方法,具体可根据实际情况来选择合适的方式。
阅读全文