mybatis-plus执行update操作自动把逻辑删除的字段添加到where条件中

        今天在使用mybatis-plus执行update操作遇到一个坑。这是我的一个实体类,现在我的需求是执行update操作修改逻辑删除字段showStatus。

@Data
@TableName("pms_brand")
public class BrandEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	@TableId
	private Long brandId;

	private String name;

	private String logo;

	private String descript;

	@TableLogic
	private Integer showStatus;

	private String firstLetter;

	private Integer sort;

}

这里我调用mybatis-plus生成的update,传的参数为brandID和showStatus两个字段,期望执行的sql语句为:update pms_brand set show_status = 1 where brand_id = 1002,结果控制台报错出

where show_status = 1 and brand_id = 1002,说我没设置更新内容。

    @RequestMapping("/update")
    public R update(@RequestBody BrandEntity brand){
		brandService.updateById(brand);
        return R.ok();
    }

经过一番对比和排查后发现,竟是showStatus加了@Tablelogic注解导致的,把@Tablelogic注解删掉就可以了。另外(请注意如果你的逻辑删除字段是全局配置的也会出现这种情况)

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值