mybatis-plus 新增sql 主键自增 其字段复制新增的主键
时间: 2023-10-02 08:07:45 浏览: 114
mybatis-plus主键生成策略
你可以使用MyBatis-Plus的`insert`方法来实现新增SQL主键自增,并将新增的主键复制到其他字段。
首先,确保你的实体类中的主键字段使用了`@TableId`注解,并且设置了主键生成策略为自增。例如:
```java
import com.baomidou.mybatisplus.annotation.TableId;
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String name;
// 其他字段...
// 省略getter和setter方法
}
```
接下来,使用MyBatis-Plus的`insert`方法插入数据,并在插入后获取到新增的主键值。然后,将该主键值赋给其他字段。示例如下:
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
public class UserService {
@Autowired
private BaseMapper<User> userMapper;
public void insertUser(User user) {
userMapper.insert(user);
// 获取新增的主键值
Long primaryKey = user.getId();
// 将主键值赋给其他字段
userMapper.update(user,
new UpdateWrapper<User>()
.eq("id", primaryKey)
.set("other_column", primaryKey)
);
}
}
```
在上述示例中,我们在插入数据后使用了`update`方法来更新其他字段,将新增的主键值赋给了`other_column`字段。你可以根据实际需求调整相关代码。
希望这可以帮助到你!如果你还有其他问题,请随时提问。
阅读全文