全局配置逻辑删除无效

清尘V 发布于 06/29 11:18
阅读 146
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

@青苗

你好  我把版本升级到了

 <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>

然后使用全局配置

mybatis-plus:
  global-config:
    db-config:
      logic-delete-field: is_deleted
      logic-delete-value: true
      logic-not-delete-value: false
      id-type: auto

逻辑删除无效,但是在对象里添加

    @TableLogic
    private Boolean isDeleted;

这是有效的,请问我配置错了吗?

还有个问题  我在全局配置了id-type 是不是在对象了不需要添加注解了?

    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

 

加载中
0
青苗
青苗

一, 逻辑删除字段  is_deleted  改为  deleted 试试,最好规避 is 开头命名方式。

二,全局配置了就不需要主键, 主键为 id 也可以忽略注解

https://mybatis.plus/guide/logic-delete.html

 

 

 

清尘V
清尘V
回复 @青苗 : 这样改动的话 整个系统字段都要改动 。。。工作量还挺大的 我的理解是正常使用这个字段是没问题的 咱这个能支持下吗
青苗
青苗
回复 @清尘V : 你需要打印执行 sql 如果 mp 无法识别 is_deleted 那么请使用 TableField("is_deleted") 注解属性,请以执行 sql 为准
清尘V
清尘V
谢谢您的回复 这个是mybatis生成的 我们系统所有表都是这个字段 如果改成deleted有点麻烦 有更好的解决方式吗
0
TearchLee
TearchLee
把配置改为如下试试
mybatis-plus:
    global-config:
        db-config:
            logic-delete-field: "isDeleted"

这里的 logic-delete-field 应该指的是你实体里面的属性名,而不是数据库字段名

返回顶部
顶部