- 博客(253)
- 资源 (1)
- 收藏
- 关注
原创 Oracle将一条分隔符隔开的结果,转成多条结果
摘要:本文介绍了如何将逗号分隔的角色ID字符串转换为多个独立结果,并查询对应的角色名称。首先通过SQL查询获取逗号分隔的角色ID,然后使用REGEXP_SUBSTR函数配合CONNECT BY子句将字符串拆分为多行,最后通过子查询获取拆分后的角色ID对应的角色名称。该方法适用于Oracle数据库,实现了从单行逗号分隔值到多行独立值的转换及关联查询。
2026-01-20 15:47:30
41
原创 vuex组件之间数据传递实战
本文描述了一个Vue项目中父子组件通过Vuex共享状态的应用场景。父组件通过计算属性获取Vuex中的isDefaultDelivery状态,并在mounted生命周期中使用$store.watch监听该状态变化,当值改变时调用handleDeliveryChange方法修改本地表单数据。子组件根据业务条件判断,通过提交mutation来更新Vuex中的isDefaultDelivery状态。这种方式实现了父子组件间的状态共享和响应式更新,同时避免了直接组件通信的耦合问题。
2025-12-03 16:34:00
220
原创 部署到服务器就报错了
【摘要】接口部署到服务器后出现时间校验错误,原因是服务器系统时间不准确。解决方案是使用时区时间替代本地时间,通过ZonedDateTime指定上海时区获取当前时间,并用DateTimeFormatter格式化时间字符串。代码示例展示了如何正确获取带时区的当前时间,解决了因服务器时间不准导致的接口校验失败问题。
2025-11-06 10:25:43
193
原创 Java接入飞书发送通知消息
本文介绍了在Java项目中集成飞书消息推送功能的具体实现步骤。首先通过添加飞书SDK依赖,创建企业应用并配置机器人功能;然后开通必要的API权限,设计消息卡片模板。核心代码实现了单用户推送和批量推送两种方式,使用飞书开放平台的Java SDK发送交互式卡片消息。配置文件中需设置应用凭证(App ID和App Secret),最终实现将系统消息通过企业微信推送给指定用户的功能。代码包含异常处理和日志记录,确保消息发送的可靠性。
2025-11-05 16:43:32
500
原创 日志中的SQL语句直接转为可执行的SQL
摘要:本文介绍了一个Java工具方法,用于自动将日志中的SQL语句和参数转换为可直接执行的SQL。方法通过解析日志中的PreparedStatement语句和参数列表,自动替换占位符并处理不同类型参数(String、Long、Date等)的格式转换,最终输出完整的可执行SQL语句。通过示例演示了该方法在数据库操作中的实际应用效果,成功执行了INSERT语句。该方法简化了开发人员从日志复制SQL并手动替换参数的过程。
2025-09-18 20:33:33
213
原创 el-date-picker设置默认值
摘要:该代码片段展示了如何设置日期默认值。使用dayjs库获取当月第一天和当天日期,格式化为DD/MM/YYYY格式,并分别赋值给数组元素。通过created()方法在组件创建时执行,其中firstDay获取当月首日,today获取当前日期,最后将这两个值存入data数组的前两个位置。适用于需要设置日期范围默认值的场景。
2025-09-18 17:31:58
178
原创 Java根据模版导出PDF文件
本文介绍了如何使用Java生成PDF文件。首先需要准备PDF模板文件,使用AcrobatProPortable工具编辑模板样式和表单字段。Java实现部分需引入itextpdf相关依赖,通过PdfReader读取模板,PdfStamper填充数据。关键步骤包括:设置中文字体(推荐使用simsunb.ttf)、使用键值对填充表单字段、设置表单不可编辑、生成最终PDF文件。代码示例展示了如何从数据库获取数据并填充到PDF模板中,生成物资出门证明文件。文章提供了完整的依赖配置和代码实现,适合需要PDF导出功能的J
2025-09-11 14:37:15
299
原创 Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?
本文介绍了Vue组件间通过props传值的方法。父组件通过:issueDeptId等属性将数据传给子组件inv-info,子组件通过props接收这些数据。重点说明了子组件如何监控父组件数据变化:使用watch监听props属性变化,当数据更新时执行相应操作。对于多层嵌套组件传值的情况,需要使用deep:true深度监听对象内部变化。文中通过代码片段和图片直观展示了props传值和数据监听的实现方式。
2025-08-05 10:02:34
327
原创 mybatis-plus报错Caused by: java.sql.SQLException: 无效的列类型: 1111
本文介绍了MyBatis中实现WHERE column IN (list)查询的方法。通过示例展示了如何编写Mapper接口方法接收字符串列表参数,并在XML映射文件中使用<foreach>标签动态生成IN条件语句。代码演示了当参数列表非空时,自动构建PROJECT_NO IN (value1,value2,...)查询条件的方式,适用于从MyBatis-Plus过渡到原生MyBatis写法的开发者参考。
2025-08-04 16:47:24
284
原创 前端-列表fixed冻结的列 横向滚动条拖不动
摘要 本文介绍了Element UI表格组件(el-table)中固定列滚动问题的解决方案。通过CSS样式修改,将.el-table__fixed和.el-table__fixed-right的pointer-events属性设为none,同时保留td和th元素的交互性,解决了固定列滚动条无法滚动以及由此导致的勾选/全选功能失效的问题。该方案简洁有效,适用于使用SCSS预处理的Vue项目环境。
2025-07-17 15:15:55
262
原创 SpringBootTest报错
这是因为SpringBootTest启动时不会启动服务器,所以WebSocket会报错。解决方案:在@SpringTest注解中添加属性(classes = )填写启动类。如我的启动类是MainApplication.class。
2025-04-24 21:53:01
398
原创 SQL查询出来的结果直接插入另一张表
例如下面SQL,功能就是将bupps_cups_serial表数据查出来插入bupps_cups_serial_his表中(Oracle数据库),类似一个表数据备份的功能。
2025-01-06 13:45:39
263
原创 Oracle清空表后如何恢复数据
有时候忘记备份数据,把数据清空了,或者删除了,这时候怎么恢复数据呢,使用下面sql即可,替换对应的table和column。更多oracle 闪回查询。
2025-01-02 12:30:30
272
原创 DockerCompose
而Docker Compose就可以帮助我们实现多个相互关联的Docker容器的快速部署。它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器。
2024-09-23 16:02:10
990
1
原创 Docker容器网络互联
但是,容器的网络IP其实是一个虚拟的IP,其值并不固定与某一个容器绑定,如果我们在开发时写死某个IP,而在部署时很可能MySQL容器的IP会发生变化,连接会失败。Java项目往往需要访问其它各种中间件,例如MySQL、Redis等。现在,我们的容器之间能否互相访问呢?OK,现在无需记住IP地址也可以实现容器互联了。发现可以互联,没有问题。教学演示:自定义网络。
2024-09-23 15:23:15
789
原创 Gateway--服务网关
大家都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。
2024-09-20 10:43:55
855
原创 基于OpenFeign实现服务调用
Feign是Spring Cloud提供的一个声明式的伪Http客户端, 它使得调用远程服务就像调用本地服务一样简单, 只需要创建一个接口并添加一个注解即可。Nacos很好的兼容了Feign, Feign默认集成了 Ribbon, 所以在Nacos下使用Fegin默认就实现了负载均衡的效果。
2024-09-19 08:39:39
336
原创 Nacos
服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。服务注册:在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。服务发现:服务调用方向服务注册中心咨询服务,并获取所有服务的实例清单,实现对具体服务实 例的访问。
2024-09-18 13:56:00
1032
原创 JMeter压力测试
进入bin目录,修改jmeter.properties文件中的语言支持为language=zh_CN,然后点击jmeter.bat。
2024-09-14 14:35:12
167
原创 可重入锁&公平锁&死锁(如何避免)
使用公平锁后 ReentrantLock lock = new ReentrantLock(true);上面这段代码没有使用公平锁,A线程抢到锁后,B线程基本抢不到票。释放锁后,在阻塞队列中等待的线程,都有机会能抢到锁。synchronized 实现死锁。ReentrantLock实现死锁。下面这段代码会出现死锁情况吗?B线程和A线程都能抢到锁。
2024-09-05 10:49:36
156
原创 volatile关键字作用
使用volatile关键字修饰的变量,修改是直接修改主内存的值,读也是直接从主内存读(跳过本地内存),所以其他线程能立即看到修改后的值。2、有序性:由于现代计算机体系结构中存在指令重排的优化机制来提高执行性能,使用volatile让执行顺序和Java源代码顺序一致。如果不用volatile 修饰flag,那么子线程中的while循环会一直卡着。1、可见性:当一个线程修改了共享变量后,其他线程能够立即看到修改后的值。
2024-09-04 16:59:33
271
原创 Netty+WebSocket实现高并发网络编程
我们来实现一个Netty+WebSocket集成案例,由于Netty+WebSocket集成代码比较麻烦,我们可以利用目前开源的项目netty-websocket-spring-boot-starter轻松实现Netty和WebSocket的集成。WebSocket会话处理我们使用了netty-websocket-spring-boot-starter相关的注解,netty-websocket-spring-boot-starter相关的注解可以参考。"您的浏览器支持WebSocket"
2024-08-28 10:46:28
913
原创 redisson分布式锁
大部分网站使用的分布式锁是基于缓存的,有更好的性能,而缓存一般是以集群方式部署,保证了高可用性。而Redis分布式锁官方推荐使用redisson。
2024-08-28 09:17:04
158
原创 Apache Druid日志实时分析
介绍 Apache Druid 是一个分布式的、支持实时多维 OLAP 分析的数据处理系统。它既支持高速的数据实时摄入,也支持实时且灵活的多维数据分析查询。因此 Druid 最常用的场景是大数据背景下、灵活快速的多维 OLAP 分析。另外,Druid 还有一个关键的特点:它支持根据时间戳对数据进行预聚合摄入和聚合分析,因此也有用户经常在有时序数据处理分析的场景中用到它。OLTP与OLAP的区别:OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理。
2024-08-27 09:42:52
447
原创 Lua收集请求日志
用户请求/web/items/1.html,进入到nginx第1个location中,在该location中向Kafka发送请求日志信息,并将请求中的/web去掉,跳转到另一个location中,并查找本地文件,这样既可以完成日志收集,也能完成文件的访问。在资料\lua中已经提供了该包lua-resty-kafka-master.zip,我们需要将该文件上传到/usr/local/openrestry目录下,并解压,再配置使用。定义好了消息格式后,创建一个生产者,往Kafka中发送详情页的访问信息。
2024-08-27 09:22:02
719
原创 elastic-job定时任务
我们创建一个动态配置任务的类,任何逻辑代码需要创建定时任务,可以直接调用该类的指定方法即可。 参考地址:https://github.com/LuoLiangDSGA/spring-learning/tree/master/boot-elasticjob。动态任务案例主要是讲解程序在运行时,动态添加定时任务,这种场景应用非常广泛。 使用elastic-job很容易,我们接下来学习下elastic-job的使用,这里的案例我们先实现静态任务案例,静态任务案例也就是执行时间事先写好。
2024-08-26 16:12:11
1105
原创 ES(索引数据库)导入MySQL全量(批量导入)和增量数据&&Canal增量数据同步利器
canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费,应用场景十分丰富。github地址:https://github.com/alibaba/canal版本下载地址:https://github.com/alibaba/canal/releases文档地址:https://github.com/alibaba/canal/wiki/Docker-QuickStartCanal应用场景。
2024-08-23 15:30:22
1388
原创 使用canal增量同步ES索引库数据
canal主要用途是基于 MySQL 数据库增量日志解析,并能提供增量数据订阅和消费,应用场景十分丰富。github地址:https://github.com/alibaba/canal版本下载地址:https://github.com/alibaba/canal/releases文档地址:https://github.com/alibaba/canal/wiki/Docker-QuickStartCanal应用场景。
2024-08-23 15:28:44
1757
2
原创 高并发下Java中System.currentTimeMillis卡顿问题解决方案
【代码】高并发下Java中System.currentTimeMillis卡顿问题解决方案。
2024-08-19 16:31:03
423
原创 Java使用Modbus4j实现TCP通信
链接:https://pan.baidu.com/s/1hglcBhC7GbRjsKFVpzGcXA?modbus 4个常用功能码,仿真软件上面有F=01,F=02,F=03和F=04来显示。仿真软件ModbusSlaveSetup64Bit.exe下载地址。0x02:读离散量输入。0x03:读保持寄存器。0x04:读输入寄存器。
2024-08-13 17:16:41
1252
原创 Vuex基本使用
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:A.能够在vuex中集中管理共享的数据,便于开发和后期进行维护B.能够高效的实现组件之间的数据共享,提高开发效率C.存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新。
2024-08-12 15:57:22
987
1
该文档为车辆外出申请表模板,用于记录申请人、驾驶员、车牌号、外出类型及是否返厂等信息,并包含审批流程和备注栏,适用于企业或机构对公务出行的管理与审批
2025-09-11
我的Java学习笔记, 记录学习Java的点点滴滴
2022-09-14
Java工作中的一些总结,你肯定也会遇到这些问题,能对你有一些借鉴和帮助
2022-09-14
SpringBoot整合es源码
2022-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅