在进行更新操作时,mybatis-plus会追加where条件防止更新到已删除数据,且使用wrapper.entity生成的where条件会忽略该字段。也就是说,我本来的方法对应的sql可能是 update xxset xxwhere xx=xx 如果我配置的逻辑删除没有问题的话,mybatis-plus生成的sql应该是 update xxset xxwhere xx=xxand del_flag ='N' 但是...
开发调试的时候发现Mybatis Plus的逻辑删除失效了,看了下配置文件发现没有问题,通过查看以下源码发现 逻辑删除需要注入的bean,查看这个bean的源码如下 查看其中一个实例的类的源码,如通过ID逻辑删除LogicDeleteById的源码,如下 mp在项目启动时预加载SQL是通过TableInfo中logicDelete字段判断是否开启逻辑删除的。然后让我们...
mybatis-plus:global-config:db-config:logic-delete-value:1# 逻辑已删除值(默认为1)logic-not-delete-value:0# 逻辑未删除值(默认为0) @TableLogicprivateIntegerdeleted; 需要在mybatis配置中加入逻辑删除注入,之后逻辑删除生效,不再是物理删除。 @ConfigurationpublicclassMyBatisPlusConfiguration{@BeanpublicISqlIn...
本篇文章为大家展示了如何解决mybatis-plus逻辑删除无效的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 添加如下注解value代表默认值delval代表删除时的值 /** * 是否删除 */@TableLogic(value ="0", delval ="1")@TableField(value ="del_flag") ...
mybatis-plus逻辑删除不起作用 @TableField(value = "stateflag") @ApiModelProperty(value="") @TableLogic(value = "0",delval = "1") private String stateflag; 字段添加如上注解并没有正确拼接sql查询条件,解决办法:我用的mybatisplus版本为3.0.1,升级到3.3.0就可以了...
解决方案:第一步:升级mybatisplus版本到3.2.0 第二步.多添加一个扩展包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>3.2.0</version> </dependency> 1. 2. 3. 4. 5.
mybatis-plus: global-config: db-config: logic-delete-field: deleted# 全局逻辑删除的实体字段名logic-delete-value:1# 逻辑已删除值(默认为1)logic-not-delete-value:0# 逻辑未删除值(默认为0)# 若逻辑已删除和未删除的值和默认值一样,则可以不配置这2项 ...
mybatis-plus: global-config: db-config: logic-delete-field: delete_flag logic-delete-value: 1 logic-not-delete-value: 0 按照官方文档说法如果配置全局逻辑删除,无需在逻辑删除字段配置注解@TableLogic 报错信息 插入信息,逻辑删除字段值是null logic-delete-field 是entity的属性名 ...
用户删除后时重复添加同名用户报错,原因是因为删除用户时使用的是逻辑删除,并未从数据库中真实删除,由于用户信息还是比较重要的。 2、关键代码片段 Controller /** * 新增用户 */ @PreAuthorize("@ss.hasPermi('system:user:add')") @Log(title ="用户管理", businessType = BusinessType.INSERT) ...