- 博客(12)
- 收藏
- 关注
原创 一种消息id生成策略
总体设计思路为每5个bit进行一次编码,编码规则为将数字和大写英文的结合,数字中去掉同意混淆的0和1,英文字母中去掉容易混淆的I和O。这样就不会出现类似于1I0O这种的字符串。我们一共采用60个bit,每20个bit组成一组,每组之间用-来表示。(例如:T4VS-CSA3-2223)。
2024-08-20 18:03:49
298
1
原创 Mybatis Plugin拦截器处理特殊字符串
为了满足测试大神的要求,于是尝试使用mybatis拦截器,拦截select方法的入参,对入参进行转义,并且对存在入参为实体类时,通过注解+反射的方式获取需要转义的字符。其中@Param传参的话是不需要定义注解的,注解的目的是在入参为实体类时进行转义。
2022-12-09 09:49:36
1474
原创 commons-beanutils和反射解决查询%和_数据问题
解决方式很简单,无非就是在查询前将可能带有%和_的字段进行转义。例如:但是!如果每个方法都这样查询,难免太繁琐了,而且容易遗忘!为了不让我们的测试提问题单,我决定优化一下。注解+反射+commons-beanutils本篇采用java注解+反射机制和引入commons-beanutils包来解决。定义注解@SpecChar,引入commons-beanutils包,记得引入1.9.3,否则会报错哦
2022-11-26 18:31:38
282
原创 Tomcat9版本项目适配Tomcat10版本解决方案
决定采用升级tomcat10.0.21的方案。随后在替换tomcat10.0.21版本后,发现web段页面进不去,后台启动一直无响应,info和error日志也一直不打印。查看tomcat的catlina.out日志一直报错,并且浏览器控制台一直报404!从官网可知,官方提供了一个“转移工具(migration tool)”java -jar jakartaee-migration-x.x.x-SNAPSHOT-shaded.jar
2022-10-17 09:17:44
2758
2
原创 Linux定时任务执行docker容器内的sql文件
先有两种方案:crontab -e 和修改/etc/crontab 文件。docker exec 容器名称 bash -c "sh 容器脚本",切记此处不要加-it,因为-it为与容器有交互操作,而定时任务自动执行是没有可交互终端的。查看/会报错:the input device is not a TTY
2022-10-14 16:00:27
922
原创 PostgreSql整合mybatis实现@>包含功能
在日常开发中经常使用到,本文主要讲,当字段为VARCHAR类型,数据格式为以','分隔形式,如何利用@>操作符在mybatis中实现该功能。下面介绍在mybatis中的使用,在mybatis中,mybatis将string_to_array(student_class,',')识别为一text[]类型,故需在最后将其强转为text[]即可。即在学生表(tbl_student)字段student_class中,表示为每个学生所学的课程,以','(逗号)形式隔开。可以看出@>可以筛选出左边包含右边的数据。
2022-09-29 09:29:11
2555
1
原创 【SpringAOP+反射机制】实现操作日志记录详解
【SpringAOP+反射机制】实现操作日志记录详解采用spring aop 外加java反射机制即Spring反射工具ReflectionUtils来动态实现删除前的数据获取,只需定义一个注解,就能完成所有日志的记录,日志表采用按照每天进行分表记录。
2022-09-18 11:41:54
1256
1
原创 【浅谈docker 数据卷后文件不存在】docker run -it -v
其实算不上是坑,还是自己没有理解深刻。docker数据卷docker run -it -v中, -v 宿主机目录:容器目录。意为将宿主机目录与容器目录进行挂载,宿主机的目录与docker容器目录保持一致。但是记住的是-v 宿主机目录:容器目录,是以宿主机目录为准!而我的需求是要以容器内部为准!想当然的认为是以容器内或哪一侧有文件以哪个为准了。那怎么才能以容器内为准呢!(不能以容器内为准,但有其他解决方案)
2022-09-09 13:47:29
1788
1
原创 【PostgreSQL实战】之还原备份文件
其中备份pg_dump采用的其实为一逻辑备份,即将数据库以转储sql的方式备份出一sql文件来,我们根据日期进行了压缩。还原的逻辑为在linux操作系统下,shell脚本中筛选出备份目录下的最新tar文件,并进行解压,解压完成后,采用pg_restore进行还原。-Upostgres: 指定用户为postgres,如不写则会默认为当前linux用户(root),如你pg中没有创建此用户则无法进行下一步咯。由于我们采用每天备份一次,即取第一行即为最后的备份,将其文件名取出。-d:指定还原的数据库名称。
2022-09-05 13:32:12
1536
原创 【PostgreSQL实战】之实现数据库自动备份
首先,设置linux下的定时任务,即我们可以在项目初始化时候,在当前环境中设置系统定时任务,定时任务去触发所要执行的脚本内容,如下所示,即将定时任务脚本重定向到/etc/crontab中。我们采用shell脚本+pg_dump方式实现每日0点数据库自动备份,方案即为,设置定时任务,服务器每天0点会自动执行shell脚本,shell中会出发数据库备份。在设置完定时任务后,每到凌晨即会易root用户执行dbbk_pgsql.sh,那么接下来就要在此shell中实现数据库的备份。............
2022-08-29 17:35:03
7014
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人