自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (1)
  • 收藏
  • 关注

原创 java 复制Map对象 深拷贝

1.在进行计算时如果需要原map以及新map进行返回,需要实现深度拷贝。

2024-04-10 10:14:54 80

原创 toJSONString空值被忽略解决办法 & toJSONString过程中时间格式丢失问题解决办法

其实还是有点问题,如果这个实体类里面有多种Date格式,就比如openStartHours这个属性,应该是HH:mm:ss格式,但这个方法好像只能使Date类型的属性共用一种时间格式,只能后续对值进行截取,要是有更好的解决办法欢迎指教。查询出来的data中部分字段值为null,在toJSONString的过程中会把null值过滤掉,最后导致转换后的数据中部分字段丢失了。但是在toJSONString的过程中,这个时间格式丢失了,返回的数据变成了时间戳以及fastime。data值:null还在。

2024-03-13 18:13:48 397

原创 阿里 EasyExcel 表头国际化

字段使用EasyExcel提供的注解@ExcelProperty,value 值写成占位符形式 ,匹配 i18n 文件里面的编码。

2024-03-06 18:00:19 416

原创 SpringBoot多数据源最佳实践

*** 数据源配置常量类*//*** 默认数据源标识*//*** 从数据源标识*/

2024-03-01 15:51:04 768

原创 springboot + easyRules 搭建规则引擎服务

本身的目的是为了业务与开发解耦,因此只输出是否满足规则,至于满足规则后要干什么业务,这个就是调用方的事。完善下,把规则抽象出来,最终的目的就是通过调用方传入的参数,生成when和then表达式;发挥规则引擎的功能,输入可以使用JSONObject,这样增删改字段无需修改代码。

2024-02-27 21:17:30 529

原创 Springboot集成Springbrick实现动态插件的步骤详解

在plugin-api中,定义各种接口、及相关的pojo,这些接口由具体的插件实现去完成,主应用(application)面向plugin-api编程即可。主应用(application)、各个插件的实现(plugin-qwer、plugin-qwer2、plugin-xyz)均可单独启动。主应用(application)启动后,可动态插拔各插件(plugin-qwer、plugin-qwer2、plugin-xyz)各plugin-api的实现程序,继承不继承父类plugin-api都可以。

2024-02-26 13:20:21 919

原创 idea prettier配置

【代码】idea prettier配置。

2024-02-12 20:22:32 241

原创 oracle mybatis-plus使用in查询超过1000条限制解决办法

当使用mybatis-plus查询oracle时,如果使用in条件查询,且in中的条数超过1000限制,那么将会导致oracle报错,mysql数据库好像不会存在这个问题,因此,针对该问题,我们应该如何解决呢?这里潘老师给大家介绍一种解决办法。

2024-01-19 14:53:59 832

原创 多字段枚举类型定义

如何定义枚举类型,包含两个字段。public enum TypeNnum { TYPE_1("TYPE_1", 1), TYPE_2("TYPE_2", 2), ; private String name; private Integer value; TypeNnum( String name, Integer value) { this.value = value; this.name = name;

2024-01-19 14:49:35 393

原创 EasyExcel快速导出 100W 数据

遂抛弃自己封装的,转战研究阿里开源的EasyExcel. 不过 说实话,当时自己封装的那个还是有些技术含量的,例如:外观模式,模板方法模式,以及委托思想,组合思想,可以看看。不过一是存在封装不太友好使用不方便的问题,二是这些poi的操作方式仍然存在内存占用过大的问题,三是存在空循环和整除的时候数据有缺陷的问题,以及存在内存溢出的隐患。造的假数据,100W条记录,18个字段,测试导出是70s。在实际上产环境使用的时候,具体的还是要看自己写的sql的性能。sql性能快的话,会很快。

2024-01-09 17:52:08 1306

原创 基于springboot的sql防注入过滤器

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。urlPatterns:表示过滤的范围," /* "表示过滤所有请求路径,"/project/user/login" 则表示过滤http://localhost:8080/project/user/login这个路径的请求。

2024-01-06 17:29:14 1266

原创 关于Spring @Transactional事务传播机制详解

举个栗子,方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都会对方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务执行也有影响,这种影响具体是什么就由两个方法所定义的事务传播类型所决定。简单说就是,我们方法调用通常是,一个方法调用另外一个,而不同方法可以有不同的事务,所以传播机制就是指在多个方法,事务要如何传播。一共有七种传播类型本文从案例结合解释一下不同传播类型下多个@Transactional方法会发生什么?

2024-01-02 15:32:16 988

原创 oracle mytibis 批量新增

实体类@KeySequence("序列化字段")

2023-12-30 15:57:41 351

原创 Springboot + easyui + mybatis 高级搜索功能实现

关闭OR(满足一个)

2023-12-29 13:31:25 1151

原创 Windows系统下Elasticsearch-7.15.2安装

ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

2023-12-02 16:22:54 381

原创 vue 自己捣鼓周日程日历组件

通过需求,超级课程表app这款软件其中课表和这个需求很像,只不过这个需求第一列的时间段是自定义的,不是上午下午两个,但是原理都差不多。原本想找一些第三方插件使用,由于时间充足,而且自己也想封装成一个组件方便以后或许会碰到类似的需求,于是自己手动写了一个日程日历。需求:想要一个周日程表,记录每天的计划,点击可查看详情。可自定义时间段通过后台获取时间段显示。:数据量大时,格子显示太长问题,这里进行了优化,如果超过2个就进行展开与收缩操作。js代码 weekTools.js。

2023-11-01 17:46:04 686

原创 解决SQLServer占用80端口问题

在安装好了SQLServer之后,发现系统默认80端口被占用,导致很多默认用80端口的软件运行不起来。2、找到SQL Server Reporting Services (MSSQLSERVER) 服务。1、运行(快捷键:WIN+R) services.msc。3、先停止服务,然后再禁用服务。

2023-10-31 15:52:12 467

原创 sqlsever解决传入参数过多的一种思路

com.microsoft.sqlserver.jdbc.SQLServerException: 传入的请求具有过多的参数。该服务器支持最多 2100 个参数。请减少参数的数目,然后重新发送该请求。java + sqlsever 或 sqlsever存储过程。

2023-10-20 11:33:36 331

原创 若依集成MybatisPlus

目录一、依赖变更1. MybatisPlus依赖2. pagehelper依赖修改二、相关配置1. yml配置1.1 注释掉原Mybatis配置1.2 加入MybatisPlus的配置1.3 注释掉原MybatisConfig.class三、其他配置及功能实现1. 自动补全create_time等信息2. 实现MP分页3. 实现MybatisPlus代码生成3.1 方法一:使用MP自带的代码生成方法3.2 方法二:修改若依框架的代码生成部分以实现MP代码生成。

2023-10-17 14:36:44 1201 1

原创 Java使用hutool工具类发送网络请求

本质上,HttpUtil中的get和post工具方法都是HttpRequest对象的封装,因此如果想更加灵活操作Http请求,可以使用HttpRequest。2.向指定URL发送DELETE请求,并携带请求头headers。1.httpUtil使用post和get请求。3.Http请求-HttpRequest。

2023-10-17 10:29:15 2046

原创 java.lang.ClassNotFoundException:javax.xml.bind.DatatypeConverter【解决办法】

因为javax.xml.bind在jdk8中有,但是在更高版本就没有了,所以我们加上就行了。方案一:如果jdk版本是8以上的,就降低jdk版本。自己换的版本低点的jdk就可以了,方案二:在maven中添加依赖。方案三:在maven种添加依赖。

2023-10-16 09:41:15 570

原创 ruoyi-vue快速集成magic-api

magic-api集成权限处理

2023-10-09 15:20:43 104

原创 git合并两个分支及合并两个仓库

二、git合并两个仓库(将grid-management-ui 的develop 合并到city-vue的zhumadian_dev)一、git合并两个分支。

2023-09-28 16:32:17 365

转载 工业场景中缺陷检测的算法探讨

它的功能是自动生成损坏的、有缺陷的样本,x∼是它的输出。G的任务是修复有缺陷的图片。工业现场的产品缺陷检测,一项重要的不可缺少的环节,除了通过仪器仪表做的检测,还有很多情况下,同时视觉检测产品的缺陷和瑕疵. 这个时候,计算机视觉的人工智能技术就可以发挥它的作用,替代或者辅助人员做产品的质检,实现无人化,高速检测,高精度检测的任务.在测试阶段,我们将测试图像x输入到自动编码器G中,得到恢复图像y,然后使用LBP算法提取x和y的特征,并比较x的每个像素的特征,其中x和y的特征差异较大,即缺陷。

2023-09-08 16:58:24 1165

原创 若依微服务集成CAS,实现单点登录

若依(RuoYi)微服务是一款基于Spring Cloud Alibaba开发的企业级微服务框架,采用前后端分离方式,使用了常用的微服务组件,如Feign、Nacos、Sentinel、Seata等,提供了丰富的微服务治理功能,如服务注册、发现、路由、负载均衡、熔断降级、限流等。借助Spring Cloud Alibaba,若依微服务框架完成了后端的微服务改造,但是前端仍是一个单体服务,随着业务的增长,前端必然变的庞大、臃肿,不可避免的需要对前端进行拆分,然而前端拆分后面临的一个问题是登录信息如何同步?

2023-08-16 16:17:13 1313

原创 MySQL中按月统计并逐月累加统计值的几种写法

有时候,我们可能有这样的场景,需要将销量按月统计,并且按月逐月累加。写惯了GROUP BY,按月统计倒是小case,但是逐月累加实现起来,要稍微麻烦一点。下面就整理几种写法,以备不时之需。

2023-08-14 15:20:37 4378 1

原创 EMQ X 集群部署

EMQ X消息服务器集群基于Erlang/OTPMQTT客户端订阅主题时,所在节点订阅成功后广播通知其他节点:某个主题(Topic)被本节点订阅。MQTT客户端发布消息时,所在节点会根据消息主题(Topic),检索订阅并路由消息到相关节点。

2023-07-28 15:12:56 1056

原创 Redis 集群部署

Redis 3.0版本后正式推出Redis集群模式,该模式是Redis的分布式的解决方案,是一个提供在多个Redis节点间共享数据的程序集,且Redis集群是去中心化的,它的每个Master节点都可以进行读写数据,每个节点都拥有平等的关系,每个节点都保持各自的数据和整个集群的状态。

2023-07-28 15:10:19 590

原创 RabbitMQ 集群部署

RabbiMQ是用Erlang开发的,集群非常方便,因为Erlang天生就是一门分布式语言,但其本身并不支持负载均衡。RabbitMQ的集群节点包括内存节点、磁盘节点。RabbitMQ支持消息的持久化,也就是数据写在磁盘上,最合适的方案就是既有内存节点,又有磁盘节点。

2023-07-28 15:07:19 1989

原创 Mongo 集群部署

为例: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-5.0.5.tgz。配置服务器建议部署为包含3个成员的副本集模式,出于测试目的,您可以创建一个单成员副本集;出于测试目的,您可以创建一个单成员副本集;为每个分片节点创建配置、数据、日志和Key目录,其他节点操作一致。为每个节点创建配置、数据、日志和Key目录,其他节点操作一致。为每个节点创建配置、日志和Key目录,其他节点操作一致。节点目录,多个以此类推。

2023-07-28 15:05:52 285

原创 gitee 配置ssh 公钥(私钥)

把ssh密钥添加到码云,打开C盘–>用户–>你的用户名–>找到.ssh文件夹(linux下为cat ~/.ssh/id_rsa.pub)。找到id_rsa.pub(如果有多个用最新的那个),用记事本打开,复制整个文本粘贴到gitee的ssh设置中(点头像,进入gitee设置面板,SSH设置,将复制的文本粘贴到公钥,标题会自动生成,然后点击添加,根据提示输入密码就可以了。步骤1:添加/生成SSH公钥,码云提供了基于SSH协议的Git服务,在使用SSH协议访问项目仓库之前,需要先配置好账户/项目的SSH公钥。

2023-07-25 16:19:48 3647

原创 实现扫码登录

2、请求二维码中的http请求。就有uuid在 header中。直接取到uuid 作为webSocket的标识sid进行连接。服务端才可以使用webSocket的方式通知前端。3、然后手机端使用相机拿到二维码中的uuid。使用uuid + userid 请求 扫码成功接口。就是放置了二维码中的uuid。这个uuid作为一次会话的标识符使用。希望大家在看到的同时也可以自己进行思考。就是通知前端 已经登录成功了。那么前端也需要拿到。生成二维码接口:生成一个二维码。二维码中有UUID。然后前端代码接收到了。

2023-07-22 12:04:33 41

原创 IP黑白名单

【代码】IP黑白名单。

2023-03-28 18:30:41 115 1

原创 mysql 日期分组(补0)

【代码】mysql 日期分组(补0)

2023-03-22 18:59:04 179

原创 JVM-GC

GC

2023-01-16 16:05:00 79

原创 JVM-垃圾收集器

最大停顿时间 吞吐量。

2023-01-16 10:13:53 89

原创 springboot构造树形结构数据并查询的方法

树形结构

2023-01-10 18:01:59 1169

原创 nacos 负载均衡ribbon 轮询策略 权重2种方式

nacos轮询修改

2022-09-19 11:44:25 1222

原创 vue里面使用pdfjs-dist+fabric实现pdf电子签章!!!

vue 盖章 拖拽页数以及坐标

2022-09-16 15:34:04 2866

原创 基于springboot的spire.pdf添加印章

盖章

2022-09-16 15:03:26 984

oracle_ns_64bit.tar.gz

用于安装Oracle12 的兼容包部分tar包,在使用凝思系统遇到许多坑,这个包是redhat的Oracle兼容包的缩减版来适应凝思系统的配置

2019-08-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除