在MyBatis-Plus中,执行插入操作后获取新生成的主键ID,通常是一个简单且直接的过程,但你需要确保几个关键步骤已经正确配置和实现。以下是获取ID的详细步骤: 1. 确保MyBatis-Plus配置正确 首先,你需要确保MyBatis-Plus的配置文件(如application.yml或application.properties)中,已经正确设置了主键生成策略。对于自增ID,...
name="id")@TableId(value="id",type=IdType.ID_WORKER)privateInteger id;@ApiModelProperty(value="用户姓名",name="userName")privateString userName;@ApiModelProperty(value="用户年龄",name="age")privateint age;}
大家好,项目中使用的是mybatis-plus,所有实体类的id都是都是雪花算法生成,我想写一个通用的新增方法,如下:mapper: void insertData(InsertVo insertVo); xml: <insert id="insertData" parameterType="InsertVo"> INSERT INTO ${table} ( id, ${column1} , ${column2} ) VALUES <foreach collection="c2va...
某天同事突然问我,你知道Mybatis Plus的insert方法,插入数据后自增id是如何自增的吗? 我愣了一下,脑海里只想到,当在POJO类的id设置一个自增策略后,例如@TableId(value = "id",type = IdType.ID_WORKER)的注解策略时,就能实现在每次数据插入数据库时,实现id的自增,例如以下形式—— @Data @AllArgsConstruct...
带着这样的疑惑,我开始研究了一番Mybatis Plus的insert自增id的策略源码,并将其写成了本文。 先来看一下Mybatis Plus生成id的自增策略,可以通过枚举IdType设置以下数种策略—— @GetterpublicenumIdType{/** * 数据库ID自增 */AUTO(0),/** * 该类型为未设置主键类型 ...
DeptMapper.xml application.yml 方式:(通过mybatis plus生成的不需要编写mapper文件) 1)select方式 <insert id="insert"parameterType="com.xx.entity.Dept"> <selectKey resultType="int"keyProperty="deptno"keyColumn="deptno"order="AFTER">selectlast_insert_id()</selectKey>insert into dept(deptname,loc) ...
大致就是由于自动生成了一个id1110423703487479810, 但是无法放入到integer中 解决方案一 1. 修改id字段类型 将id字段类型改为long, 这样就能保证有足够位数放入生成的id 2. 调整数据库id字段类型 将数据库的id字段的长度(改为20位) 解决方案二 如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关...
java.sql.SQLException: Field 'id' doesn't have a default value 如图: 后来了解到 使用 mybatis-plus的insert方法,在底层会默认生成一个Long类型的UUID,这就导致跟数据库里面类型不一致导致错误,我们首先要做的是要把这个默认自增的主键给禁了 在实体类 id上面加一个注解 ...
Mapper接口声明和xml文件中的方法一一对应,mapper中声明方法的名称以及参数,xml是mapper的对应实现。 public interface XXXMapper{ //参数可以是类的类型,成员参数成对出现student_name=#{studentName} int insert(StudentDO entity); //map类型,key为数据库字段,value为#{}的value ...