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

删除时效果:

相关推荐
2023-09-17
QLExpress
方向是比速度更重要的追求。——白岩松 QLExpress是一种强大,轻量级,动态的Java平台语言,旨在提高开发人员在不同业务场景中的生产力。 https://github.com/alibaba/QLExpress 安装 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>QLExpress</artifactId> <version>3.3.2</version></dependency> 代码: 12345678ExpressRunner runner = new ExpressRunner();DefaultContext<String, Object> context = new DefaultContext<String, Object>();context.put("a", 1);context.put("b", 2);cont...
2023-05-13
frontend-maven-plugin
没有目标而生活,恰如没有罗盘而航行。——康德 分享一个前端maven打包插件:frontend-maven-plugin https://github.com/eirslett/frontend-maven-plugin 例如streampark中使用的: 123456789101112131415161718192021222324252627282930313233343536373839<plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> <version>1.12.1</version> <configuration> <workingDirectory>${project.basedir}/../${frontend.project.name}&l...
2022-03-03
collectingAndThen
向着清风吟唱的歌手,还会对着运转的宇宙歌吟。——纪伯伦《先知》 我们使用Stream收集操作收集元素时,会遇到对规则进行分组后,对每一组的数据还要进行处理的情况,这时候我们可以使用Collectors.collectingAndThen处理,例如我下面本来分组后得到一个Map<String,List<String>>,但我将分组后每一组的结果转换为了JSON格式的String 12345678910111213import java.util.Map;import java.util.stream.Collectors;import java.util.stream.Stream;import com.alibaba.fastjson.JSON;class Scratch { public static void main(String[] args) { Map<String, String> collect = Stream.<String>empty().collect(Collec...
2021-07-05
在js中获取thymeleaf变量(二)
所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了。——鲁迅 上回写过在js中获取thymeleaf变量 但比较繁琐 这次用简单的写法 1234<script> var id = [[${id}]] console.log(id)</script> 非常简单~ 不过要注意一点,如果是对象格式的数据,需要在script标签上加th:inline="javascript" 1234<script th:inline="javascript"> var id = [[${id}]] console.log(id)</script> 在页面中也可以直接使用,可以代替th:text 123<div> [[${id}]]</div> 效果如下 如果是字符串也支持的 1234<div> [[${id}]] [['id']...
2022-10-25
jackson时区问题
万两黄金容易得,知心一个也难求——曹雪芹 今天发现日期数据返回后日期错乱 怀疑是时区问题,果然改了全局jackson序列化配置就好了 12ObjectMapper objectMapper = new ObjectMapper();objectMapper.setTimeZone(TimeZone.getTimeZone("GMT+8")); 完整代码: 12345678910111213141516171819202122232425262728293031323334353637383940/** * web配置类 * * @author <achao1441470436@gmail.com> * @since 2021/5/18 0018 14:52 */@Configuration@EnableWebMvcpublic class WebConfig implements WebMvcConfigurer { /** * @param converters 转换器 * @author <a...
2023-12-11
spring-state-machine使用redis持久化
问号是开启任何一门科学的钥匙。——巴甫洛夫 之前介绍过spring-state-machine持久化 今天使用redis实现 首先是需要一个RedisStateMachineRepository 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103import com.alibaba.nacos.common.utils.JacksonUtils;import jakarta.annotation.Nonnull;import jakarta.annotation.Resource;import org.dromara.streamquery.stream.core.stream.Steam;import org.springfra...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog