mybatisplus 自带插入 获取主键获取
时间: 2023-08-18 18:13:02 浏览: 93
在 MyBatis-Plus 中,使用自带的插入方法可以获取插入后的主键值。具体的操作步骤如下:
1. 在实体类中配置主键生成策略,可以使用 `@TableId` 注解来指定主键字段,并设置主键生成策略。例如:
```java
@TableId(type = IdType.AUTO) // 设置主键生成策略为自增
private Long id;
```
2. 在插入数据时,使用 MyBatis-Plus 提供的插入方法,并将实体对象作为参数传入。例如:
```java
User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("john@example.com");
// 使用自带的插入方法插入数据
boolean result = userMapper.insert(user);
```
3. 插入成功后,可以通过实体对象的主键属性来获取插入后的主键值。例如:
```java
Long primaryKey = user.getId();
```
这样就可以通过 MyBatis-Plus 的自带插入方法来获取插入后的主键值了。请注意,以上示例代码仅供参考,具体使用时需要根据实际情况进行调整。
相关问题
mybatisplus 自带插入 获取主键
在MyBatis Plus中,执行插入操作后获取主键有多种方式:
1. 使用`insert`方法后,实体对象会自动填充主键值,可以通过实体对象的getter方法获取主键值。例如:
```java
User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("john@example.com");
userMapper.insert(user);
Long primaryKey = user.getId(); // 获取主键值
```
2. 使用`insert`方法后,可以通过`KeyGenerator`类获取自动生成的主键值。例如:
```java
User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("john@example.com");
userMapper.insert(user);
KeyGenerator keyGenerator = Jdbc3KeyGenerator.INSTANCE;
Object primaryKey = keyGenerator.execute(userMapper, user); // 获取主键值
```
3. 使用`insert`方法后,可以通过`@TableId`注解的`RETURN_GENERATED_KEYS`属性来返回自动生成的主键值。例如:
```java
public class User {
@TableId(type = IdType.AUTO, returnGeneratedKeys = true)
private Long id;
// ...
}
User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("john@example.com");
userMapper.insert(user);
Long primaryKey = user.getId(); // 获取主键值
```
以上是三种常用的方式来获取MyBatis Plus自带插入操作的主键值。根据你的需求和实际情况,选择合适的方式来获取主键值即可。
mybatis plus有没有自带的批量插入
MyBatis Plus 提供了批量插入的功能。你可以使用 `com.baomidou.mybatisplus.extension.service.IService` 接口中的 `saveBatch` 方法来实现批量插入操作。这个方法接受一个实体列表作为参数,将列表中的实体批量插入到数据库中。
示例代码如下:
```java
List<Entity> entityList = new ArrayList<>(); // 要插入的实体列表
// 添加实体到列表中...
boolean result = service.saveBatch(entityList);```
需要注意的是,`saveBatch` 方法默认会开启数据库自动生成的主键策略,如果你需要获取插入后的主键,可以在实体类的主键字段上使用 `@TableId(type = IdType.AUTO)` 注解。
如果你想要在批量插入时忽略重复记录,可以使用 `saveOrUpdateBatch` 方法。该方法会根据主键或唯一索引来判断记录是否已存在,如果存在则更新,不存在则插入。
更多关于 MyBatis Plus 的批量操作方法,你可以参考官方文档:https://mybatis.plus/guide/crud-interface.html#batch-insert
阅读全文