mybatis-plus逻辑删除字段可以用字符串类型
时间: 2024-09-12 20:05:11 浏览: 81
MyBatis-Plus中的逻辑删除是指用一个字段来标记记录是否被逻辑删除,而不是直接从数据库中删除数据。这在很多场景下用来代替物理删除,以此来避免删除操作可能带来的连锁反应,比如级联删除导致的数据丢失问题。逻辑删除通常通过一个特定的字段(如`deleted`或`is_deleted`)来实现,该字段标记数据行是否有效。
逻辑删除字段的类型通常定义为布尔类型(`boolean`),MyBatis-Plus在默认情况下也是这样处理的。但在某些情况下,出于业务需求或者其他考虑,可能需要使用字符串类型来标识逻辑删除状态。
如果要使用字符串类型作为逻辑删除字段,你需要在`application.yml`或`application.properties`配置文件中进行如下配置:
```yaml
mybatis-plus:
global-config:
db-config:
logic-delete-field: flag # 设置逻辑删除字段名称
logic-delete-value: "1" # 设置逻辑删除的值(未删除状态)
logic-not-delete-value: "0" # 设置逻辑未删除的值(已删除状态)
```
在这里,`logic-delete-value`和`logic-not-delete-value`分别代表逻辑删除和未删除时字段应填的值。如果字段类型为字符串,这两个值也应该是字符串。
请注意,在使用字符串类型作为逻辑删除字段时,务必保证相关操作能够正确处理字符串逻辑,否则可能会引发数据一致性和查询逻辑上的问题。
阅读全文