欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

MybatisPlus中removeById删除数据库未变解决方案

2025年08月08日 Java
mybatisplus中removebyid删除数据库未变removebyid(serializable id)传入的是id:integerlong等,不是实体对象,就是对应你表的主键由于我刚开始建表

mybatisplus中removebyid删除数据库未变

removebyid(serializable id)

传入的是id:integer long等,不是实体对象,就是对应你表的主键

由于我刚开始建表时未设置主键mybatisplus自动生成未在实体类表中标注主键。后加了主键

所以需在实体类主键添加上@tableid就成功了

@tableid(value = "product_id", type = idtype.auto)

@tableid注解是专门用在主键上的注解

如果数据库中的主键字段名和实体中的属性名,不一样且不是驼峰之类的对应关系,可以在实体中表示主键的属性上加@tableid注解,并指定@tableid注解的value属性值为表中主键的字段名既可以对应上。

比如数据中的表中的字段是vote_id,但是实体类是voteid。那么就需要在voteid上打上这个注解,如下:

/** 主键 */
    @tableid("vote_id")
    @tableid(value = "vote_id")
    private long voteid;

总结

removebyid根据你数据库表中的主键来删除,就算数据库中有设置主键实体类上未标注也是不行的,所以需要在实体类中注@tableid注解来标注主键

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。