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

删除时效果:

相关推荐
2020-12-17
Springboot使用maven打包指定mainClass
“音乐是天使的演讲”,这句话形容得妙极。——(英国作家)卡莱尔 今天springboot项目install报错出现多个主类的问题,最后看这篇博客在pom.xml中指定了主类解决了 123456789101112131415161718<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.xxx.XxxApplication</mainClass> </configuration> ...
2022-08-16
全局响应返回处理
我喜欢我的懦弱,痛苦和难堪也喜欢。喜欢夏天的光照,风的气息,蝉的鸣叫,喜欢这些,喜欢得不得了。——《寻羊冒险记》 上代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import io.github.vampireachao.stream.core.optional.Opp;import org.springframework.core.MethodParameter;import org.springframework.http.MediaType;import org.springframework.http.converter.HttpMessageConverter;import org.springframework.http.server.ServerHttpRequest;import org.springframework.http.server.ServerHttpResponse;import org.springframewor...
2023-09-28
通过条件跳过单元测试
散步慌言蜚语的人往往隐瞒自己的身份,狡黠地假托世人名字,比如,“世人说” “国外有一种说法” 等等。——培根 分享一个小技巧,我们可以使用 1Assumptions.assumeTrue(isConnected(), "Redis is not available. Skipping the test."); 在单元测试中判断,不满足条件则跳过测试 例如此处就是判断redis是否已连接,为true则会继续往下执行,为false则会skip
2021-07-02
redisson实现分布式锁
性格左右命运,气度影响格局。——余世雅博士 代码如下 123456789101112131415161718192021222324252627282930313233 public static int EXPIRE_SECONDS = 5 * 60; @Resource private RedissonClient redissonClient; /** * 加redisson分布式锁 * * @param lockName 锁名 * @param supplier 调用方法 * @return T * @author <achao1441470436@gmail.com> * @since 2021/7/2 17:42 */ @Override @Transactional(rollbackFor = Throwable.class, isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRED) p...
2023-08-19
Delimiter
青春如初春,如朝日,如百卉之萌动,如利刃之新发于硎,人生最宝贵之时期也。青年之于社会,犹新鲜活泼细胞之在身。——陈独秀 分享一下:org.springframework.boot.convert.Delimiter的用法 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950/* * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-...
2020-09-23
Arrays.asList的坑
我认为对于一切情况,只有“热爱”才是最好的老师。——爱因斯坦 今天写代码遇到一个坑 本身不是什么难的逻辑,结果自己学艺不精忘了,导致程序出现不该出现的异常 是这样的,数据库里原有存了这么几张图片,使用的是“;”分割 现在要进行一个追加并去重的操作 1234567// 原有数据库里的图片String pic = "http://p16.qhimg.com/bdm/960_593_0/t0195d14f593431562a.jpg;" + "http://p18.qhimg.com/bdm/480_296_0/t014a0ca534d64adbba.jpg;" + "http://p18.qhimg.com/bdm/480_296_0/t014a0ca534d64adbba.jpg;" + "http://p18.qhimg.com/bdm/480_296_0/t014a0ca534d64adbba.jpg";// 需要追加的图片String appendPi...

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