美文网首页
MP(MybatisPlus)多数据源配置逻辑删除配置

MP(MybatisPlus)多数据源配置逻辑删除配置

作者: 一个忙来无聊的人 | 来源:发表于2021-02-25 10:42 被阅读0次

    关于MybatisPlus多数据源配置就不过多阐述了,参考 官网多数据源配置

    回归问题:实际开发过程由于两个不同程序猿在定义数据库规范时逻辑删除字段名称和字段值不一样,导致逻辑删除不能用同一个配置数值字段
    解决方案

    定义数据源1基础Entity类, 此时的逻辑删除字段为 dataStatus ,1未删除。2已删除

    FirstBaseEntity

    @Data
    public class FirstBaseEntity implements Serializable {
    
        /**
         * 主键id
         */
        @ApiModelProperty(value = "主键id")
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;
    
        /**
         * 状态[1:未删除,2:删除]
         */
        @ApiModelProperty(value = "数据状态")
        @TableLogic(value = "1", delval = "2")
        private Integer dataStatus;
    }
    

    定义数据源2基础Entity类, 此时的逻辑删除字段为 isDeleted,0未删除。1已删除

    SecondBaseEntity

    @Data
    public class SecondBaseEntity implements Serializable {
    
        /**
         * 主键id
         */
        @ApiModelProperty(value = "主键id")
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;
    
        /**
         * 状态[0:未删除,1:删除]
         */
     @TableLogic(value = "0", delval = "1")
        @ApiModelProperty("是否已删除")
        private Integer isDeleted;
    }
    

    数据源1和数据源2 的实体类分别继承 两个entity, Mapper调用删除或批量删除时即可进行逻辑删除

    注意 全局逻辑删除就不要配置了

    # 不要配置全局逻辑删除字段、值
    #mybatis-plus.global-config.db-config.logic-delete-field=data_status
    #mybatis-plus.global-config.db-config.logic-delete-value=2
    #mybatis-plus.global-config.db-config.logic-not-delete-value=1
    

    END

    相关文章

      网友评论

          本文标题:MP(MybatisPlus)多数据源配置逻辑删除配置

          本文链接:https://www.haomeiwen.com/subject/sypyfltx.html