在MyBatis Plus中,插入数据后获取主键ID是一个常见的需求。以下是获取插入数据后主键ID的几种方法: 1. 使用Mapper接口的方法 MyBatis Plus的BaseMapper接口提供了insert方法,该方法在插入数据后会自动返回插入的条数。如果你希望在插入数据后获取主键ID,可以通过设置实体类的主键属性为自增,并在插入操作后从实体类中...
<artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-s...
背景:需要实现批量插入并且得到插入后的ID。 使用for循环进行insert这里就不说了,在海量数据下其性能是最慢的。数据量小的情况下,没什么区别。 【1】saveBatch(一万条数据总耗时:2478ms) mybatisplus扩展包提供的:com.baomidou.mybatisplus.extension.service.IService#saveBatch(java.util.Collection<T>) 测试代码...
1.1、Mysql数据库设置ID自增情况 代码语言:javascript 复制 <insert id="insertUser"parameterType="com.crush.mybatisplus.entity.User">INSERTINTOtb_user(username,password)VALUES(#{username},#{password});<selectKey resultType="java.lang.Long"order="AFTER"keyProperty="id">SELECTLAST_INSERT_ID()</selectK...
Mybatis-Plus 是对 Mybatis 的一种增强,它的使用上有相对于有两点变化: (1)首先就是我们的 Mapper 直接继承 BaseMapper,然后我们的Mapper 就有了增删改查的功能了 @MapperpublicinterfaceMyTestMapperextendsBaseMapper<MyTestPo>{ } (2)其次,比如我们的表名、主键是不规则的,可以通过 @TableName、@TableId 等...
👨💻面试官:你说Mybatis执行插入语句后可以返回主键ID吗??如果能的话,能否实现一下。 🙋我:当然是可以的,连JDBC都能做到的事情,Mybatis也能做到的。 开始敲代码... 1.1、Mysql数据库设置ID自增情况 <insert id="insertUser" parameterType="com.crush.mybatisplus.entity.User">INSERT INTO tb_...
mybatis-plus:mapper-locations:classpath*:mapperxml/*Mapper.xml AI代码助手复制代码 直接先看mapper.xml文件,这个insert语句实际上就是插入MouldMessage这个我定义的实体类。 <mapper namespace="com.hwz.MessageMouldMapper"><insertid="testInsert" useGeneratedKeys="true" keyProperty="id">INSERTINTOt_XXXX ...
MyBatis-Plus获取刚刚新建数据的自增id(重点在最后两张图片) 实体类:User 数据交互类:UserDao Service类:UserTableService Service实现类:UserTableImpl Controller层(重点在最后一段代码) 完成插入操作后,这个 实体类的对象,也就是 user 的 id 竟然被赋值了,而这个值就是在数据库中自增的 id!
1、实体类定义 注意:在实体类中,通过添加 @TableId 注解,并设置 value 属性为 "id",type 属性为 IdType.AUTO 来定义主键,并采用自增策略。2、解决办法 方法一:使用Mybatis-Plus框架提供的insert方法。方法二:方法三:UserMapperProvider类 3、调用方法获取id说明 方法调用前:方法调用后: