关于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
网友评论