MybatisPlus中removeById删除数据库未变解决方案
目录
- MyBATisPlus中removeBypythonId删除数据库未变
- removeById(Serializable id)
- @TableId注解是专门用在主键上的注解
- 总结
MybatisPlus中removeById删除数据库未变
removeById(Serializable id)
传入的是id:Integer Long等,不是实体对象,就是对应你表的主键
由于我刚开始建表时未设置主键mybatisplus自动生成未在实体类表中标注主键。后加了主键
php所以需在实体类主键添加上@TableId就成功了
@TableId(value = "product_id", type = IdType.AUTO)
@TableId注解是专门用在主键www.devze.com上的注解
如果数据库中的主键字段名和实体中的属性名,不一样且不是驼峰之类的对应关系,可以在实体中表示主键的属性上加@Tableid注解,并指定@Tableid注解的value属性值为表中主键的字段名既可以对应上。
比如数据中的表中的字段php是vote_id,但是实体类是voteId。那么就需要在voteId上打上这个注解,如下:
/** 主键 */ @TableId("vote_id") @TableId(value = "vote_id") private Long voteId;
总结
removeById根据你数据库表中的主键来删除,就算数据库中有设置主键实体类上未标注也是不行的,所以需要在实体类中注@TableId注解来标注主键
以上为个人经验,希望能给大家一个参考,也希望大家js多多支持编程客栈(www.devze.com)。
精彩评论