自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 数据同步工具datax配置与示例

datax安装配置及简单示例。

2024-04-07 17:30:54 1003 1

原创 通过切面编程(AOP)、自定义注解实现不同字段转换为同一字段

通过切面编程(AOP)实现不同字段转换为同一字段。

2024-03-20 17:50:20 832 1

原创 SpringBoot项目通过触发器调度实现定时任务

SpringBoot项目集成quartz,通过触发器调度实现定时任务,

2024-03-20 16:59:07 848

原创 【SpringCloud-Feign】SpringCloud项目通过fegin远程调用接口返回结果类型为LinkedHashMap

SpringCloud项目通过fegin远程调用接口返回结果类型转换失败。

2023-12-14 17:35:11 453

原创 【Oracle】常用数据库sql记录

常用聚合函数、窗口函数总结

2023-12-13 14:45:31 341

原创 IDEA控制台彩色日志布局

IDEA控制台日志颜色配置

2023-08-01 10:12:26 2346

原创 MapStruct中文文档(二)——获取映射器

生成的映射器将在需要使用给定映射器实例的映射时注入uses属性中定义的类。目前,默认的注入策略是字段注入,但可以通过配置选项进行配置。使用其他映射器的映射器(参见调用其他映射器)将使用配置的组件模型获取这些映射器。因此,如果前面示例中的CarMapper使用了另一个映射器,则该映射器也必须是可注入的CDI bean。框架,建议通过依赖注入获取映射器对象,而不是使用上述的Mappers类。这种模式使得客户端可以轻松使用映射器对象,而无需重复实例化新的实例。在使用依赖注入时,您可以选择字段注入或构造函数注入。

2023-07-19 14:16:39 362

原创 MapStruct中文文档(一)——定义映射器

Mapper注解会导致MapStruct代码生成器在构建时创建CarMapper接口的实现。在生成的方法实现中,源类型(例如Car)的所有可读属性将被复制到目标类型(例如CarDto)的相应属性中:当属性与目标实体的属性同名时,它们将被隐式映射。当属性在目标实体中具有不同的名称时,可以通过@Mapping注解指定其名称。

2023-07-13 16:19:45 1383 2

原创 自动映射工具MapStruct正确打开方式

MapStruct是一款基于Java注解的对象属性映射工具。使用的时候我们只要在接口中定义好对象属性映射规则,它就能自动生成映射实现类,不使用反射,性能优秀,能实现各种复杂映射。MapStruct也支持在映射前后做一些自定义操作,类似AOP中的切面。需要创建自定义处理方法,创建一个抽象类ProductRoundMapper,通过注解自定义映射前操作,通过注解自定义映射后操作;/*** 商品对象映射(自定义处理)

2023-07-10 11:07:02 228

原创 java中使用BeanUtils.copyProperties方法对象复制同名字段类型不同赋值为空问题解析

对象之间的复制,dto对象中字段类型为String,model中字段类型为BigDecimal。使用BeanUtils.copyProperties方法进行对象批量复制。

2023-07-07 16:00:11 6207 1

原创 JSON文本互转及JsonNode,ObjectNode,ArrayNode简单理解

JSON文本互转及JsonNode,ObjectNode,ArrayNode简单理解``JsonNode是Jackson中为了处理JOSN文本的树模型(tree model)。可以将JSON文本转成JsonNode,也可以将JsonNode转成JOSN文本。。ObjectNode和ArrayNode都是JsonNode类的扩展,不同的是JsonNode是只读的,而。...

2022-06-09 14:10:37 5740 2

原创 继解决Spring data jpa 批量插入重写saveAll()后遇到符号不兼容问题

问题描述问题:之前为解决Spring data jpa 批量插入/删除(saveAll()/deleteAll())速度慢的问题重写了saveAll()方法,用自定义拼接sql的方法组装sql,但是会出现不兼容特殊符号的问题,于是采用预处理的对占位符进行赋值。解决方案:使用 query.setParameter()对占位符进行赋值处理。@Override public List<OutChannelPlaybill> batchInsertPre(List<Out

2022-03-24 14:18:58 1216

原创 【原理扫描】Alibaba Druid 未授权访问

问题描述项目中未Alibaba Druid 默认情况下未设置访问控制,攻击者可以登录以获取敏感信息原因分析:druid作为数据库连接池,默认配置监控页存在漏洞,可以通过直接通过GET /druid/index.html 直接访问,存在数据库数据泄露的风险。解决方案:在yml配置文件中进行账号密码配置或者禁用页面 datasource: druid: # 配置DruidStatViewServlet stat-view-

2022-03-24 11:26:40 10462 3

原创 【原理扫描】Spring Boot Actuator未授权访问漏洞

问题描述Actuator 是 springboot 提供的用来对应用系统进行自省和监控的功能模块,借助于 Actuator 开发者可以很方便地对应用系统某些监控指标进行查看、统计等。在 Actuator 启用的情况下,如果没有做好相关权限控制,非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息。漏洞场景:注:对于Spring 1x,它们在根URL下注册,并且在2x中它们移动到“/actuator/”基本路径。例如:http://ip:port/actuator/en

2022-03-24 11:09:55 17389 2

原创 springboot kafka配置相关参数笔记

配置及参数说明如下:#################consumer的配置参数(开始)##################如果'enable.auto.commit'为true,则消费者偏移自动提交给Kafka的频率(以毫秒为单位),默认值为5000。spring.kafka.consumer.auto-commit-interval; #当Kafka中没有初始偏移量或者服务器上不再存在当前偏移量时该怎么办,默认值为latest,表示自动将偏移重置为最新的偏移量#可选的值为latest, ea

2022-01-26 11:05:12 1932 3

原创 关于POI导出excel表,不做任何操作直接再次导入,读取数据失效(解析不到数据)的问题解决办法

项目场景:在项目开发中,经常会遇到导出数据到excel表和利用excel表批量导入数据的需求,最常用的是利用POI进行导出导入操作;问题描述:导入一个有数据的excel文件, 导入成功后,再导出,对导出的excel文件不做任何处理再进行导入操作,java poi 解析不到数据; 如果将导出的excel文件打开随便点一下,保存再导入,此时可以解析到数据,之前取单元格值代码如下: XSSFCell cell = row.getCell(j); if (null == cell) {

2022-01-11 15:39:58 2957

原创 mysql insert语句值包含单引号特殊字符解决方法

问题描述:前文章记录saveAll()批量新增执行自定义sql衍生问题:saveAll()批量新增执行自定义sql使用entityManager执行批量新增语句,执行sql语句时报错,报错信息如下:Caused by: org.hibernate.exception.SQLGrammarException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert

2022-01-07 10:38:43 6267 1

原创 解决Spring data jpa 批量插入/删除(saveAll()/deleteAll())速度慢的问题

问题描述:项目中使用到了Spring data jpa技术,调用 JpaRepository.saveAll()/deleteAll()方法对list中的数据进行插入/删除时,发现速度特别慢,数据量5k+的数据大概需要话费20s+,导致请求时间过长,前端报错请求超时。saveAll底层源码: @Transactional public <S extends T> List<S> saveAll(Iterable<S> entities) { Assert.n

2021-12-29 16:16:44 8498 6

原创 Java8中关于String参数操作笔记

package com.wondertek.oes.live.commons.util;import java.util.Arrays;import java.util.HashSet;import java.util.Set;import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringUtil1 { private StringUtil1() { } /**

2021-12-22 14:43:32 403 1

原创 Java8中关于LocalDateTime转换方法总结

public class DateTimeUtil { private DateTimeUtil() { } /** * 时间格式:yyyy-MM-dd HH:mm:ss */ public static final String TIME_FROMAT_SIMPLE1 = "yyyy-MM-dd HH:mm:ss"; /** * 时间格式:yyyy/MM/dd HH:mm:ss */ public static f

2021-12-20 17:32:57 2109 1

原创 Java 8 中 Jackson 序列化 LocalDateTime 的问题解决

项目场景:项目场景:系统之间Post请求,把对象序列化成json字符串作为参数传递问题描述:实体类中有LocalDateTime属性字段,对其转换为Json字符串时,格式出错。解决方案:1、实体类@Datapublic class User { private String name; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pat

2021-12-10 17:19:01 1982

原创 SpringBoot整合freemarker、email实现邮件发送

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、准备二、使用步骤1.导入依赖2.在ymal配置文件中写入配置3.ftl模板4.发送邮件方法5.结果展示一、准备目前国内大部分的邮件服务商都不允许直接使用用户名/密码的方式来在代码中发送邮件,都是要先申请授权码,这里以 QQ 邮箱为例,向大家演示授权码的申请流程:首先我们需要先登录 QQ 邮箱网页版,点击上方的设置按钮:然后点击账户选项卡,在账户选项卡中找到开启POP3/SMTP选项,点击开启,开启相关功能,开启过程需要

2021-11-17 14:10:12 1894 2

原创 Java8新特性Stream流之List、Map互转、去重、过滤

一、Streams(流)?java.util.Stream 表示能应用在一组元素上一次执行的操作序列。Stream 操作分为中间操作或者最终操作两种,最终操作返回一特定类型的计算结果,而中间操作返回Stream本身,这样你就可以将多个操作依次串起来。Stream 的创建需要指定一个数据源,比如 java.util.Collection 的子类,List 或者 Set, Map 不支持。Stream 的操作可以串行执行或者并行执行。二、具体使用1.Filter(过滤)过滤通过一个predicate接口

2021-11-17 10:45:31 25526 3

原创 Docker根据名称查询容器ID镜像ID并停止删除,并通过shell脚本部署项目

背景:公司最近做环境搬迁,把以前直接部署在服务器上的项目都与docker进行整合部署,每次手动执行有些繁琐,于是写个脚本便于部署项目。实现:1.容器、镜像删除方法参考链接:https://blog.csdn.net/zimou5581/article/details/940126821. 根据容器名称查询容器ID并删除# 第一种写法docker stop `docker ps -a| grep oes-live-manage | awk '{print $1}' `docker rm

2021-08-16 10:36:15 2809 5

原创 java 导出数据到Excel表格(动态合并单元格)

java 导出数据到Excel表格,并根据数据动态合并单元格需求实现1.引入依赖2.实现代码需求java导出数据到Excel表格,主信息与关联信息一对多,生成下图类似的表格内容实现1.引入依赖代码如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> .

2021-08-16 09:42:41 2318

原创 Dockerfile以及构建tomcat镜像实例

Dockerfile一、Dockerfile是什么?用来构建Docker镜像的文件。二、相关参数代码如下(示例):FROM #基础镜像MAINTAINER #镜像谁写的,姓名+邮箱RUN #运行的命令ADD #步骤WORKDIR #镜像的工作目录VOLUME #挂载卷EXPOSE #暴露端口CMD #指定这个容器启动的时候要运行的命令,只要最后一个会生效,可被替代ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令COPY #类似ADD,将我们的文件拷贝到

2021-08-05 10:37:47 258

原创 Docker安装及基础命令(笔记)

Docker基础Docker安装#卸载旧的sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \

2021-08-04 17:51:01 86

原创 RestTemplate请求结果中文乱码解决方法

RestTemplate请求结果中文乱码解决方法在项目测试时,发现调用其它系统时返回结果是乱码,但在服务器上curl 请求是正常的,经过设置全局编码格式后,也不起作用。经查阅资料,测试,得出以下两种解决方法,作此记录。在注入RestTemplate对象时,进行初始化设置,对返回信息解码时用StringHttpMessageConver对消息进行编码指定。 @Bean public RestTemplate restTemplate() { HttpComponents

2021-07-19 18:13:24 5562

原创 mysql数据库查询find_in_set()函数配合entityManager执行自定义语句的使用

问题描述:数据查询的时候,有时候会遇到字段在数据库中存值是逗号分隔的,前端传来的条件也是逗号分隔,如果直接去like匹配可能会因为顺序原因匹配不到,这样就用到了find_in_set()函数,忽略顺序,只看值是否包含在字段中。例如:technology数据库存:4k,高清,vr前端传值:4k,vr public ResultBean<Object> getOutChannelList(OutChannelInfo outChannelInfo) { //拼接自定

2021-06-01 14:54:04 199 1

原创 Spirng Data JPA 之Specification中and、or的使用

项目中,有的地方存值以逗号分隔的方式来存储,但查询的时候是需要满足单个值或者多个值条件查询,因此用到Specification中and、or组合使用,此文用来记录,以防后用。描述:parentCode逗号分隔,同一parentCode下有且只能有一个名称相同的标签对象,新增传值parentCode逗号分隔,可多个,用下面查询方法来做校验。 private List<LabelInfo> getDimensionList(LabelInfo labelInfo) { S

2021-06-01 14:25:26 2460 10

原创 JsonNode解析json字符串

JsonNode解析json字符串获取指定字段字符串如下:{ "code":"0", "msg":"成功", "result":{ "fullStreamUrl":"rtmp://rtmpxxx/x/x", "audioTrack":[ { "audioTrackIndex":1, "streamUrl":"rtmp://rtmpxxx/x/x-1"

2021-01-15 15:37:00 1376 1

原创 Git统计一段时间内代码的修改量

Git统计某段时间的代码修改量项目每个版本都要统计代码修改量,故作此记录。首先打开Git Bash,进入代码目录 cd /d/2021live/oes-live在执行查询命令行git log --pretty=tformat: --since=2020-12-21 --until=2021-01-13 --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s rem

2021-01-14 09:44:46 1040

原创 Spirng Data JPA 联表查询以及获取指定字段

项目中有的地方需要多表关联查询,spring data jpa适合单表查询,但也提供了方法,此文记录关联查询方法,以防后用。1.Spirng Data JPA 联表查询**两表联查 TvCatTaskInfo TvCatChannelInfo**import com.fasterxml.jackson.annotation.JsonFormat;import lombok.Data;import org.hibernate.annotations.DynamicInsert;import org

2021-01-08 15:56:59 1386 3

原创 JAVA实现内网rtmp转推公网rtmp

JAVA实现内网trmp转推公网rtmp项目中有个业务场景要实现在客户端监看内网rtmp流,方案是搭建流媒体,然后通过java起进程,将内网流转推到公网流,特此写笔记,记录。1.Nginx+rtmp流媒体搭建方式一:参考此文章一步一步进行安装,链接如下:nginx + rtmp 搭建流媒体服务器方式二:(1)首先先装一些基础的支持:yum install -y psmisc telnet lrzsz tcpdump ftp vim ntp gcc wget gcc-c++ pam-devel

2021-01-07 14:58:27 3217 4

空空如也

空空如也

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

TA关注的人

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