Mybatis Plus如何获取插入操作后的自增长的id

本文介绍了如何在Mybatis Plus中轻松获取插入操作后自增长的ID。通过实例演示,在插入数据后直接访问对象的ID属性即可得到新生成的ID。此外,还提到了使用XML方式获取自增ID的另一种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要想获取Mybatis Plus的insert()执行后的自增长id其实很简单,你不需要多做任何的操作,你只需要在它执行之后,拿你传进去的对象点它的id属性即可

下面我用一个示例来告诉你

    @Resource
    SysRoleMapper sysRoleMapper;

	@Test
    public void testInsert() {
   
   
        SysRole sysRole = new SysRole("角色", "添加", 1
### MyBatis-Plus 批量插入 ID 自动生成配置及示例 #### 配置自动生成策略 为了使 `MyBatis-Plus` 支持批量插入时自动为 ID 生成值,需先定义实体类中的主键字段并设置其自策略。通常情况下,可以采用数据库自带的自功能或是通过 UUID 来作为唯一标识符。 当使用 MySQL 数据库时,可以通过如下方式指定表结构中主键列的数据类型以及属性: ```sql CREATE TABLE user ( id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', name VARCHAR(30), age INT, PRIMARY KEY (id) ); ``` 接着,在对应的 Java 实体类里声明相应的字段,并利用 `@TableId` 注解指明该字段为主键及其填充模式: ```java import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.IdType; public class User { @TableId(type = IdType.AUTO) private Long id; // 主键 private String name; private Integer age; } ``` 上述代码片段展示了如何设定 `id` 字段为自增长型主键[^1]。 #### 编写批量插入方法 完成以上准备工作之后,就可以编写服务层的方法来进行批量插入操作了。这里推荐使用 `insertBatchSomeColumn()` 函数,因为此函数允许只传递部分非空字段给 SQL 插入语句,从而提高灵活性和效率。 下面是一个简单的例子展示怎样调用这个 API 完成多个对象的同时保存动作: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService { @Autowired private UserMapper userMapper; public boolean saveUsersInBatch(List<User> userList){ return this.userMapper.insertBatchSomeColumn(userList) >= userList.size(); } } ``` 这段程序说明了如何在一个事务内执行多次数据提交而不需要显式地控制连接池资源释放等问题[^2]。 需要注意的是,默认情况下的批量插入机制并没有特别针对性能做出优化措施;因此如果面对非常庞大的数据集,则可能需要考虑其他更高效的解决方案来满足实际需求[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值