- 博客(47)
- 收藏
- 关注
原创 如何解决‘逻辑删除‘和‘唯一索引‘冲突的问题
但这就又出现了另一个问题:由于采用的是“逻辑删除”,那么会造成唯一字段值相同的数据只能删除一次的情况。基于mysql“唯一约束对 Null 失效”的原理,将被删数据的逻辑删除字段置为 null 即可。此时当入参违反唯一性约束时就会抛出异常,我们需要对异常进行处理,以向前端返回更加友好的报错信息。当要对保证某些可编辑字段的唯一性时,代码需要在插入和更新时都进行唯一性校验,这很繁琐。这样就可以在数据库层面轻松实现唯一性的保证,且'逻辑删除'和'唯一索引'不会冲突。异常是无法作为 catch 参数捕捉的。
2024-12-07 16:01:50
286
原创 lock4j 不生效的问题(个人原因导致的)
因为动态代理通过代理的方式获取到代理的具体对象,而static是不属于对象的,是属于类。所以静态方法是不能被重写的,正因为不能被重写,所以动态代理也不成立。毕竟不管是jdk和cglib动态代理,都是需要实现或者重写方法的。然后想到 Lock4j 基于 AOP 实现的, AOP 又是基于动态代理实现的,而 static 意为“静态”,那么会不会 static 与 “动态代理”是冲突的呢?这个工具类采用了 lock4j 的方式实现分布式锁,以避免并发问题。
2024-11-06 14:14:55
385
原创 个人在使用 Graceful Response 时遇到的问题(个人原因导致的)
(2)GracefulResponse 传递给前端的异常信息,经常默认在前面加上了触发异常的类名【已解决】抛出的异常没有成功地返回给前端,返回给前端的错误信息是一串陌生的类名【已解决】方法,因为该方法会在返回的 message 前加异常类名。经排查后发现是由于“异常链”导致的,这样,传给前端的就是。,那么这里不建议使用。
2024-10-31 10:35:12
296
原创 Debain11.10 相关内容
9、Debian 执行apt-get update失败提示:请使用 apt-cdrom,通过它可以让 APT 识别该盘片。不过也可以通过设置来允许 root 用户的远程连接。命令后,网关信息通常会在标记为“default”的行中显示。在这一行中,“via”后面的IP地址就是当前的默认网关地址。8、关于无法直接通过 XShell 登录 root 账户的问题。--来自百度网盘超级会员v8的分享。--来自百度网盘超级会员v8的分享。3、安装 Debain11。6、设置静态ip、dns。7、如何查看当前网关?
2024-07-08 09:21:52
511
原创 解决 Dockefile 无法从远程仓库中拉取到基础镜像的一个方法
此时再执行 Dockerfile 文件,由于本地已存在对应版本的本地镜像,因此 Dockerfile 会直接在该本地镜像的基础上构建新镜像,而不必从远程仓库中拉取,从而避免无法从远程仓库中拉取到指定版本镜像的问题。手动用 docker pull 指令又试了一下,发现拉取镜像的时候,只能拉取到最新版本的镜像,指定版本的镜像一个都拉取不到。于是想到了一个邪法,那就是从已有该镜像的系统中将该镜像打成 tar 包,之后在需要该镜像的系统中将该 tar 包解压为镜像。
2024-07-03 19:03:02
454
原创 阿里云 debian10.3 sudo apt-get updat 报错的解决方案
阿里云全新的debian10.3(buster)镜像,却无法正常执行 sudo apt-get update。问题描述以及解决方案如下:
2024-06-19 10:50:20
2095
原创 IDEA 引导
【在IDEA双击shift,输入key reference就能看到快捷键大全PDF版】(灰色代表的其实是没保存)等等等等.......
2024-05-17 09:57:00
335
原创 org.postgresql.util.PSQLException: 错误: 关系 “dual“ 不存在
每次启动项目时,Druid 数据库连接池会执行 validationQuery 属性值中的 sql 语句来测试连接是否可用,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库都有各自的验证语句。然而 postgreps 没有 dual 表,因此项目启动连接数据库时会报错,修改一下validationQuery 属性值即可,改为:select version()。查阅资料后发现这是由配置文件中的配置 datasource-dynamic-druid-validationQuery 导致的。
2024-05-12 23:57:47
2167
1
原创 mysql5.x 的某些神奇问题
一条视图与IN、EXIST同时存在的语句,本该查出数据,但一直结果为空,且没有报错。同样的语句、同样的数据源,在mysql8中可支持查出数据。因此我推测是因为“mysql5.x中不支持视图与IN、EXIST不能共用,且不报错”还原成原sql后,却可正常查出数据。
2024-05-11 16:19:32
328
1
原创 MySQL innodb_buffer_pool_size 相关常用语句
innodb_buffer_pool_size 配置膝盖,mysql性能优化
2024-05-11 15:31:45
681
原创 一次域名过期而导致的经历
2023.07.10 打开公司某项目后台网站,发现无法正常打开,同时,小程序端仍可以正常使用。因为项目后台、小程序端在后端是共用同一服务器上的同一服务,因此是后端出现问题的概率很小,怀疑是前端出现问题。由于(1);(2)这两大现象让我怀疑是前端近期打了后台的新包,新包导致项目后台无法使用,于是询问前端近期是否对该项目进行打包,得到回答“确实进行了打包,但只是小修改”。与此同时,我发现除该项目外,所有部署在该服务器上的项目都出现了无法打开后台的情况(其中一些项目上次更新时间已经是几个月前)。
2023-07-10 17:29:47
293
原创 调整远程电脑分辨率
下载usbmmidd_v2.zip解压,双击usbmmidd.bat后,分辨率变成了1024*768,再就可以设置分辨率了,虽然不全,但也足够用了。一些远程电脑因为没有接显示器,所以电脑启动之后会出现分辨率错乱的现象,有时甚至无法通过 windows 自带的分辨率修改应用来修改分辨率。这种情况,可以通过 usbmmidd_v2 第三方软件来实现。(软件下载地址在文章的最后)
2023-06-07 11:06:13
3839
原创 mysql修改自增字段自增起始值
2、使用 SQL 语句进行修改,SQL 执行结果返回操作成功,但观察后发现自增起始值后发现没有任何变化,查了资料后,说是因为数据库已有数据中存在比设置的起始值更大的值,因此无法设置,但检查后发现并不存在此种情况。本方法即:停止服务、导出目标表SQL文件(包括结构和数据)、修改表结构SQL、运行修改后的SQL文件、over。需要修改自增字段的起始值,以使其后续插入的主键id从自定义的值开始自增。先后使用了三种方法,前两种均告失败,第三种成功。3、被逼急了,无奈之下出此下策,实在是万不得已。
2023-02-20 11:47:51
5869
2
转载 thinkbook14+(thinkbook16+) 屏幕亮度忽明忽暗
thinkbook14+(thinkbook16+)在断开电源线的情况下,屏幕会时不时忽明忽暗,非常恶心。“开始菜单里搜索英特尔显卡控制中心。在系统选项里有个功率,功率里有个显示器节能。
2023-02-20 09:53:12
3286
5
原创 linux ping 之后出现提示“未知的名称或服务” 即 “name or service not known”
需要编辑 /etc/sysconfig/network-scripts 下的 ifcfg-eth0 配置文件添加DNS服务器地址(有趣的是,原先在这个目录下的。文件不见了,或许是被谁删了?不过 ifcfg-eth0 配置文件中也有。编辑完成保存并退出之后,一定记得要重启网络。
2022-11-15 17:02:12
3921
1
原创 Java 时间格式之间的相互转换(Date、Calendar、timestamp时间戳)
Java 时间格式之间的相互转换(Date、Calendar、timestamp时间戳)
2022-09-05 16:55:52
2512
原创 免费的ssh工具
最爱的xshell过期,项目里用不了xshell和xftp了。于是尝试了一下似乎最近很火的 tabby,结果发现页面确实很炫酷,但却根本传输不了文件(讲道理这工具不应该有这么离谱的bug。一通搜索之后,找到了两个挺不错的免费工具 putty 和 WinSCP。前者是ssh工具(而且免安装!),后者则是用来传输文件的(用着相当丝滑)。当然,它们的功能肯定不像 xshell 一样强大,但基本的操作绝对是够了。
2022-08-25 11:43:51
885
原创 从前端获取数据的几种方式
1,从“restful风格”接口中取参,必须使用 @PathVariable 注解!!!“restful风格”接口可以从从路径上获取数据(似乎这叫“restful风格”接口?), “restful风格”来获取数据在@PostMapping、@PutMapping、@GetMapping、@DeleteMapping都是可以使用的,都可以从路径中成功获取数据2,从 Params 中获取数据,可以发现即使在 POST 请求中,仍然是可以从Params 中获取数据的。 3,想要获取 @PostMapping 中传
2022-06-15 23:58:15
2737
原创 从前端传来的JSON中获取数据
首先推荐一个神器,JSON在线解析及格式化验证 - JSON.cn 里面的“JSON在线解析”和“JSON生成JAVA实体”两个功能,前几天可是帮了我大忙了。前几天写一个功能,在这个功能中前端传过来的JSON十分复杂,示例如:可以发现,推过来的这个JSON不仅复杂,而且有一点十分让人在意,那就是它的属性值首字母基本上都是大写。这也就使得通过“JSON生成JAVA实体”获得的Java无法被直接使用。有两种解决方法(1)通过 JSONObject 。 在接收前端传来的JSON数据时,以String的形式接
2022-06-12 23:24:02
2741
原创 在部署linux服务器时遇到的一些问题
1,刚打开虚拟机后出现无法连接网络问题的解决办法 ping name or service not known: 刚打开虚拟机后出现无法连接网络问题的解决办法 ping name or service not known_hello_syz的博客-优快云博客2,XShell的使用: Xshell连接虚拟机详细教程_为你关月亮的博客-优快云博客_xshell连接虚拟机...
2022-05-24 20:55:34
203
原创 关于重装系统无法连接网络问题的解决方法
最近使用小白重装系统给电脑重装了一波win10,然而无论是重装时还是重装后,都出现了无法连接网络的情况,网络只能处于飞行模式。重装时无法连接网络的问题,比较好解决,只要不使用在线重装,转而使用U盘重装即可。但是重装之后仍然无法正常使用无线网却是一个避无可避的致命问题,查找了网络上的资料,主流都是让下载驱动人生、驱动精灵之类的驱动软件,对驱动进行更新或者安装。然而我使用了这两个软件之后,发现他们根本无解决我的问题(由于无法联网或者检测不出问题之类的原因)。所以只有采用网络上提供的另一种方法——直接去联
2022-05-22 21:03:33
4967
原创 刚打开虚拟机后出现无法连接网络问题的解决办法 ping name or service not known
在VMware WorkStation中创建了一个新的Linux CentOS7虚拟机后,发现无法连接网络,ping不通,ping www.baidu.com显示“ping name or service not known”。经高人指点后,才知道只需要两步便可以解决这个问题1,编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,将文件中的ONBOOT=no改为ONBOOT=yesvi /etc/sysconfig/network-scripts/if
2022-05-19 12:37:59
925
原创 观察者模式
策略模式1,需求2,传统方案注意传统方法中的“推送方式”,是在WeatherData中维护了 像是新浪网站、小米天气之类的对象。当天气发生改变时,WeatherData类中的dataChange()方法会被调用,dataChange()方法中会调用各个对象(如新浪网站、小米天气)中的update()方法。3,普通方案的问题4,观察者模式Subject是被依赖(被观察)的一方5,观察者模式类图(1)Subject接口中用到了Oberver接口,所有二者是
2020-10-18 17:39:50
85
原创 工厂模式
简单工厂模式1,传统方式的类图2,传统方式的缺陷以及改进方式 所谓的“其他地方也有创建Pizza的代码”是指OderPizza3之类的3,简单工厂模式的基本介绍4,
2020-10-15 17:43:43
141
原创 UML类图及类之间的关系
1,各种关系(1)注意泛化与实现之间的却别(2)组合的耦合性要比聚合强一些2,类之间的关系:依赖、泛化(继承)、实现、关联、聚合、组合3,依赖4,泛化关系实际上就是继承关系,是依赖关系的一种特例5,关联6,聚合表示的是整体与部分的关系,但是整体与部分是可以分开的(不可以分开的话,那就是组合的关系)。是关联关系的一种特例。用带空心菱形的实线来表示。7,组合表示的是整体与部分的关系,但是整体与部分是不可以分开的。是关联关系的一种特例。用带实心菱形的实现来表示。
2020-10-15 16:55:08
215
原创 七大设计原则
1,七大设计原则(1)单一职责原则(2)接口隔离原则(3)依赖倒置原则(4)里氏替换原则(5)开闭原则(6)迪米特法则(7)合成复用原则2,xxx性3,单一职责原则如订单类只负责订单相关的职责。而不涉及员工相关的职责。4,...
2020-10-13 16:35:48
8094
2
原创 Java 位运算符
一、基本位运算符1,按位与运算符(&)1,参加运算的两个对象,按二进制位进行“与”运算。运算规则:0|0=0;0|1=0;1|0=0;1|1=1;即:参加运算的两个对象都为1,其值才为1。2,负数按补码形式参加按位或运算(正数的反码和补码都是它的本身,负数的反码是其除符号位取反,负数的补码是其反码+1 https://blog.youkuaiyun.com...
2020-02-25 10:59:22
110
原创 java字符串类常用方法
1,一个Java字符串String类操作方法整理链接 https://blog.youkuaiyun.com/sjq__python_web/article/details/800994542,灵活使用'3'-'0'=3 'A'之前是'@',一个不错的例子:for(j=0;j<n;j++)if(a[j]>='A'&&a[j]<='Z')ff[a[j]-'A...
2020-02-09 10:28:04
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人