- 博客(111)
- 收藏
- 关注
原创 mybatis-plus-join-boot-starter依赖解决 Join 联表查询
Mybatis Plus 封装的 mapper 不支持 join,如果需要支持就必须自己去实现。但是对于大部分的业务场景来说,都需要多表 join,要不然就没必要采用关系型数据库了。那么有没有一种不通过硬 SQL 的形式,通过框架提供 join 能力呢?答案是,可以有。
2025-05-08 14:11:16
110
原创 TransactionTemplate 与@Transactional 注解的使用
和是Spring框架中实现事务管理的两种主要方式,各有其特点和适用场景。
2025-04-28 10:07:48
926
原创 SpringBoot动态设置定时任务
在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。除了上面的借助cron表达式的方法,还有另一种触发器,区别于CronTrigger触发器,该触发器可随意设置循环间隔时间,不像cron表达式只能定义小于等于间隔59秒。访问接口,传入请求参数cron表达式,将定时任务修改为15秒执行一次。编写一个接口,使得可以通过调用接口动态修改该定时任务的执行时间。启动项目,可以看到任务每10秒执行一次。
2025-04-16 14:52:54
304
原创 SpringBoot动态配置数据源的几种实现方式
AbstractRoutingDataSource 的核心原理是通过一个线程本地变量(ThreadLocal)来保存当前使用的数据源标识,然后在每次获取连接时,根据这个标识来决定使用哪个数据源。利用ThreadLocal管理当前使用的数据源,DynamicDataSourceContextHolder可以在不同的线程间隔离数据源的使用,实现数据源的动态切换。它用于确定当前使用的数据源标识。根据返回的标识,AbstractRoutingDataSource 会从预先配置的数据源中选择对应的数据源。
2025-03-27 15:38:29
584
原创 【Java开发】Springboot集成mybatis-plus
-mysql依赖-->目前,多数项目会有多数据源的要求,或者是主从部署的要求,所以我们还需要引入 mybatis-plus 关于多数据源的依赖-- mybatis-plus 多数据源 -->
2024-12-05 10:03:14
1381
原创 springboot整合flowable工作流
1、Start Events(开始事件)Start Event: 流程的起点,手动触发。(重要)Start Conditional Event: 条件满足时自动触发。Start Message Event: 接收到特定消息时自动触发。Start Error Event: 发生指定错误时自动触发。Start Escalation Event: 需要升级或转交给更高级别人员时自动触发。Start Signal Event: 接收到特定信号时自动触发。
2024-12-02 10:30:33
1396
原创 Git常用命令总结
1、git fetch 取回所有更新分支信息2、git branch -a 查看所有分支信息3、git branch 查看当前分支信息4、git checkout “分支名” 切换分支5、git init 初始化git仓库6、git clone “ 克隆地址 ” 拉取项目7、git pull 拉取代码8、git status 查看修改的文件git status -s / git status --short 查看更加简洁的状态信息。
2024-11-13 09:45:14
1656
原创 Windows部署MinIO,搭建本地对象存储服务
基于外网的项目,可以使用阿里云等提供的OSS对象存储服务;但基于内网的项目,就只能部署本地的文件存储服务,这里推荐一下MinIO;MinIO是一个高性能、高可靠、可扩展、开源、分布式对象存储解决方案;1、它提供了与Amazon Web Services S3兼容的API,并支持所有核心S3功能;2、对于开发人员友好,部署简单,接口文档完善,支持主流开发语言;3、非常适合存储大量非结构化数据,例如图片、文件、视频、音频等等;
2024-08-02 16:45:06
1738
2
原创 el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题
当数据量动态变化时,可以为 Table 设置一个最大高度。通过设置max-height属性为 Table 指定最大高度。此时若表格所需的高度大于最大高度,则会显示一个滚动条。fixed属性:列是否固定在左侧或者右侧,true 表示固定在左侧;可选值:true, left, right。
2024-07-05 10:49:33
2735
1
原创 解决 vue 项目开发越久 node_modules包越大的问题
有一个vue项目,发现它的占用空间越来越大,一看是node_modules占用已经100多G了,然后测试了每次编译运行就会增大几百兆,日积月累,磁盘都快装满了。但是并不想删除node_modules重装,后来找到了是CompressionWebpackPlugin插件开启了GZIP压缩,缓存越来越大的问题,在vue.config.js相关配置中增加一条cache:false即可解决。
2024-06-27 13:50:46
1460
原创 SpringBoot整合MQTT实现消息的发布与订阅
MqttMQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 于 1999 年发明。网络受限:网络带宽较低且传输不可靠终端受限:协议运行在嵌入式设备上,嵌入式终端的处理器、内存等是受限的。
2024-06-18 11:17:54
2530
原创 Docker-compose安装、使用,容器化部署springboot项目
1)下载docker-compose若速度较慢,可以使用如下命令:2)修改目录权限(添加可执行权限)3)创建软连接4)验证安装是否完成。
2024-06-06 15:33:36
1660
1
原创 Docker安装、使用,容器化部署springboot项目
安装命令如下:也可以使用国内 daocloud 一键安装命令:可以先下载到本地,然后通过ftp工具上传到服务器上,或者在服务器上使用命令下载将解压出来的docker文件复制到 /usr/bin/ 目录下 进入 目录,并创建 文件,内容如下,这样可以将docker注册为service服务4. 启动docker三、docker常用命令1. docker常用命令 docker --help #查看docker命令 docker info #do
2024-06-06 15:09:28
2553
1
原创 Jenkins构建打包部署前端Vue项目至Nginx
配置node.js1、创建项目2、配置gitee3、配置源码4、构建环境/bin/bashnpm -v。
2024-06-04 15:20:38
669
2
原创 基于Docker+Jenkins实现自动部署SpringBoot+Maven项目
随便根据其他教程安装即可,本文着重讲jenkins的安装与环境配置。
2024-06-03 16:08:03
1484
1
原创 时序数据库ClickHouse的安装使用
ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C++语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。OLAP(On-Line Analytical Processing)翻译为联机分析处理,专注于分析处理,从对数据库操作来看,OLAP是对数据的查询;OLTP(on-line transaction processing)翻译为联机事务处理,专注于事务处理,从对数据库操作来看,OLTP主要是对数据的增删改。
2024-05-31 13:36:40
2028
原创 @Valid,@Validated 的分组校验和嵌套检验,实现高阶参数校验操作
JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator。注意:JSR-303实现与 Hibernate ORM 没有任何关系。 JSR 303 用于对 Java Bean 中的字段的值进行验证。Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。先讲一下这两个注解:@Valid与@Validated都是用来校验接收参数的,如果不使用注解校验参数,那么就需要在业务代码
2024-05-30 14:13:20
1499
原创 @Schedule注解,多个定时任务执行时造成阻塞不能按时执行
Scheduled注解任务的时候是在一个单线程中,如果有多个任务,其中一个任务执行时间过长,则有可能会导致其他后续任务被阻塞直到该任务执行完成。也就是会造成一些任务无法定时执行的错觉。源码:@Scheduled注解在注册时给定时任务生成了一个单线程的线程池(newSingleThreadScheduledExecutor())
2024-05-28 14:00:26
2112
原创 java反射之Field用法(获取对象的字段名和属性值)
Field是一个类,位于java.lang.reflect包下。在Java反射中Field类描述的是类的属性信息,功能包括:获取当前对象的成员变量的类型对成员变量重新设值。
2024-01-24 16:08:20
3137
原创 PostgreSQL教程--数据库查询表是否存在数据库中,表字段信息及主外键
【代码】PostgreSQL教程--数据库查询表是否存在数据库中,表字段信息及主外键。
2024-01-22 13:49:17
1553
原创 PostgreSQL教程--实现类似于MySQL的show create table功能
在MySQL数据库中,可以通过show create table查询表的create sql 语句,3、generate_create_table_statement函数。数据库中,没有类似的命令,但可以通过function 来实现。
2024-01-22 11:30:00
1963
原创 Vue3使用
1、reactive 和 ref 是 Vue 3 中的两种响应式数据绑定方式,ref 适用于简单的响应式数据,而 reactive 则适用于复杂对象或数组的响应式数据。在vue3中取而代之的是v-model,将:visible.sync 改为 v-model。3、reactive:可以直接访问和修改对象或数组的属性或元素,而无需使用 .value。当:visible的值为ture的时候,弹框显示,当为false的时候,弹框隐藏。1、定义一个普通的插槽,可以用div,任何标签。来表示visible的值。
2024-01-18 15:45:13
1112
原创 windows下Node版本的切换方式
为了避免应用构建出错,我们在本地开发环境的 Node 版本与在 CI/CD 流程中指定的 Node 版本需保持一致。在这种需要频繁切换 Node 版本的情况下,我们不可能手动卸载又安装不同的版本,这时我们可以借助 NVM 工具来帮助我们快速地切换 Node 版本。接下来介绍 NVM 的基本使用。
2024-01-16 14:20:48
1252
原创 VUE element-ui实现表格动态展示、动态删减列、动态排序、动态搜索条件配置、表单组件化。
2、本组件支持列表列排序,vuedraggable是拖拽插件,上图中字段管理里的拖拽效果 ,需要的话请自行npm install。1、本组件支持列表的表头自定义配置,checkbox实现。3、本组件支持查询条件动态配置,穿梭框实现。
2024-01-11 11:53:03
4194
原创 VUE+Springboot实现生成二维码及二维码下载功能
arr:二维码图片上要显示的内容。//todo 放置尾部logo。content:二维码内容。
2024-01-04 13:07:08
1381
2
Springboot + Vue ElementUI 实现MySQL&&Postgresql可视化源码
2023-08-15
基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目-AJ-Report
2023-05-09
一个超级棒的VUE流程设计器-后端
2023-04-18
一个超级棒的VUE流程设计器
2023-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人