逻辑删除与联合索引冲突处理(二)
发表于|更新于
|浏览量:
一星陨落,黯淡不了星空灿烂;一花凋零,荒芜不了整个春天。——巴尔扎克
之前写过一篇,用时间实现,今天提供另一种思路
我们的逻辑删除字段,如果和联合唯一索引同时使用,还可以使用下面这一种方式:
如果未删除,使用魔法值
如果已删除,使用NULL
因为mybatisPlus官方文档也提到了:
字段类型支持说明:
- 支持所有数据类型(推荐使用
Integer,Boolean,LocalDateTime)- 如果数据库字段使用
datetime,逻辑未删除值和已删除值支持配置为字符串null,另一个值支持配置为函数来获取值如now()
之前看源码,发现它也是使用替换字符串的方式去做,所以是支持NULL的
并且我们的null并不受唯一索引约束
那我们这里就可以直接使用如下配置:
1 | @TableLogic(delval = StringPool.NULL, value = "existed") |
效果:

删除时效果:

相关推荐
2022-11-28
mybatis-plus代码方式配置
发光的不全是黄金——莎士比亚 示例:https://github.com/apache/incubator-streampark/pull/2099 原来的方式: 1234567891011# mybatis plus settingmybatis-plus: type-aliases-package: org.apache.streampark.console.*.entity mapper-locations: classpath:mapper/*/*.xml configuration: jdbc-type-for-null: null global-config: db-config: id-type: auto # close mybatis-plus banner banner: false 现在的方式: 123456789101112131415161718192021/** * mybatis plus setting * * @return MybatisPlusPropertiesCustomi...
2021-03-13
yml中list写法
三更灯火五更鸡,正是男儿读书时。黑发不知勤学早,白首方悔读书迟。——颜真卿 之前写过一个springboot自定义配置 当时配置map使用的是这种方式 123456ruben: number: 4444 avatar: /img/oss/2020-06-01/head.jpg gender: male hobby: ["游戏","动漫","编程"] introduce: {"food": "blood","programLanguage": "java"} 这里hobby是一个List<String>,introduce是一个Map<String,String>,实际上我们可以使用如下写法 1234567891011ruben: number: 4444 avatar: /img/oss/2020-06-01/head.jpg gender: male hobby: -...
2022-05-11
solon
人若是看透了自己,便不会再小看别人。——老舍《骆驼祥子》 分享一个很赞的web框架 Solon 是一个微型的 Java 开发框架。项目从 2018 年启动以来,参考过大量前人作品;历时两年,4000 多次的 commit;内核保持 0.1m 的身材,超高的跑分,良好的使用体验。支持:RPC、REST API、MVC、WebSocket、Socket 等多种开发模式。 Solon 强调:克制 + 简洁 + 开放的原则;力求:更小、更快、更自由的体验。 官网地址:https://solon.noear.org/ gitee:https://gitee.com/noear/solon Solon 家簇成员图谱 上代码感受一下: Hello World: 12345678910111213141516171819202122232425262728293031323334353637//Handler 模式:public class App{ public static void main(String[] args){ SolonA...
2024-10-25
一个自带流程设计器的工作流引擎warmflow
你与别人花费一样的时间,因为别人用心,而你吊儿郎当,所以到了最后检验成果的时候,别人成功,而你除了赔了时间之后,一无所得。——飞行员舒克 一个自带流程设计器的工作流引擎终于迎来了这个激动人心的版本1.3.0,不需要在为引入设计器而烦恼了,按照以下前四点,可以快速接入业务系统,下面介绍如何使用设计器 1. 引入依赖<dependency> <groupId>io.github.minliuhua</groupId> <artifactId>warm-flow-plugin-ui-sb-web</artifactId> <version>1.3.0</version> </dependency> 2. 后端放行部分路径 1、这两个路径需要放行,否则无法访问,/warm-flow-ui/**, /warm-flow/** 2、以下是spring-security放行配置示例 @Bean protected SecurityFilterC...
2022-05-15
引入一个boot模块坑
“所有你乐于挥霍的时间都不能算作是浪费。”——约翰·列侬 这个坑蛮棘手的 事发场景:main-boot引入common-boot模块,common-boot模块是一个spring-boot模块 关键GAV构成如下: common-boot 12345678910111213141516171819<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.7</version> <relativePath/></parent><groupId>com.ruben</groupId><artifactId>common-boot</artifactId><version>0.0.1-SNAPSHOT</ver...
2023-08-05
spring-statemachine
绝不能怜悯不该怜悯的家伙——达·芬奇 https://spring.io/projects/spring-statemachine Spring 状态机是应用程序开发人员将状态机概念与 Spring 应用程序一起使用的框架。 文档: Spring Statemachine - Reference Documentation 运行一个demo: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0&qu...
