数据库表的自增值为 100 但是在 java 项目中向数据库插入一天数据后报错:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.wf.dao.pojo.Article' with value '1912378205234962433' Cause: java.lang.IllegalArgumentException: argument type mismatch

解决方法:

 改变MyBatis-Plus 主键生成策略

在实体类的 id 属性上,运用 @TableId 注解来明确主键生成策略。常见的策略有:

  • IdType.AUTO:数据库自增。
  • IdType.INPUT:手动输入。
  • IdType.ASSIGN_ID:雪花算法生成(默认)。
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;

public class Article {
    @TableId(type = IdType.AUTO)
    private Long id;
    // 其他属性和方法
}

将主键 ID 上添加 注解后成功解决

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐