mybatis mapper.xml 插入后返回主键 id 的配置
时间: 2024-02-11 17:34:47 浏览: 97
mybatis 批量插入返回主键
在 MyBatis 中,可以通过配置来实现插入数据后返回主键 id。具体可以通过以下步骤来实现:
1. 在 mapper.xml 文件中指定主键的生成策略,例如:
```
<insert id="insertUser" parameterType="User">
<selectKey keyProperty="id" resultType="int" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user (username, password) VALUES (#{username}, #{password})
</insert>
```
其中,`<selectKey>` 标签用于指定主键的生成策略,`keyProperty` 属性指定主键对应的实体属性名称,`resultType` 属性指定主键类型,`order` 属性指定执行顺序。
2. 在 Java 代码中调用 insert 方法时,必须将实体对象作为参数传递进去,例如:
```
User user = new User();
user.setUsername("test");
user.setPassword("123456");
userMapper.insertUser(user);
System.out.println(user.getId()); // 返回插入后的主键 id
```
通过以上配置和代码,就可以实现插入数据后返回主键 id 的功能。需要注意的是,`<selectKey>` 标签中的 SQL 语句必须符合当前数据库的语法规范,例如 MySQL 数据库可以使用 `LAST_INSERT_ID()` 函数来获取插入后的主键 id。
阅读全文