自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用javaApi监控 kafka 集群的环境下消费组的积压信息

javaApi 监控 kafka 集群的环境下消费组的积压信息

2023-02-09 17:54:32 1830

原创 pgsql 分组后获取最新的一条记录

获取分组数据里面符合条件的一条数据

2023-01-19 17:39:07 3849

原创 Pgsql 大集合切割,多线程提高更新数据的速度

Pgsql 大集合切割,多线程提高更新速度

2023-01-03 17:05:56 620

原创 记录map的一次踩坑 map.clear()

代码中使用map进行逻辑处理的时候,循环结束没有清空map。导致map中不容易被覆盖的key值一直存在。从而使得后面的循环逻辑中会一直把存在的key,对应的记录进行入库。同步数据的时候出现重复的值。...

2022-08-02 00:02:25 1103

原创 在controller之前处理一些特殊值

情景:前端int有时候没有值,或者日期没有值的时候,会直接传过来null作为内容。但你的后端字段类型为Integer。这个时候,会出现报错。如下:后端处理方式:使用框架对参数预处理

2022-06-27 14:52:28 716

原创 stream 流根据某个属性去重

常用,记录一下。ArrayList collect = uniformCircuitDOS.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(UniformCircuitDO::getCircuitCode))), ArrayList::new));

2022-05-27 17:15:14 1034

原创 解决easyExcel和poi版本冲突问题

出现的问题:excel导出功能时出现找不到对应poi的类而出现 NoClassDefFoundError当时的代码环境依赖说明:在公共模块存在依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency&gt

2022-04-08 11:20:55 11400 7

原创 上传压缩包文件到Minio服务器遇到 java.io.EOFException: Truncated ZIP entry 异常

需求:上传压缩包文件到Minio服务器遇到的坑:final ArchiveEntry nextEntry = in.getNextEntry();final ZipArchiveEntry nextZipEntry = in.getNextZipEntry();如果压缩包只有文件,那应该使用 ArchiveEntry 实体。如果使用 ZipArchiveEntry 会导致出现java.io.EOFException: Truncated ZIP entry 异常 ZipArchiveInp

2021-10-21 15:01:47 3035

原创 for example: not eligible for auto-proxying

原因是 idea的断点在接口上。去掉即可

2021-10-19 18:41:39 274

原创 树结构数据转list,数据保持树结构的顺序

/** * Tree数据转list * @param treeNodes * @param <T> * @return */ public static <T extends TreeNode> List<T> tree2List(List<T> treeNodes) { List<T> menuList = new ArrayList<>();

2021-08-05 15:34:22 260

原创 枚举使用技巧

开发实际需求:系统有不同的角色,对应的角色可以实现对应的操作。一般这种情况使用if就比较直观,例如if(管理员){ 做管理员操作}else if(普通用户){ 做普通用户操作}但我们可以使用枚举+接口实现更简洁的写法第一步:定义接口,表明能够做什么操作/** * @Interface RoleOperation * @Desc Todo * @Author CJQ * @Class 2021/7/21 11:19 **/public interface RoleOpe

2021-07-21 11:46:15 103

原创 java如何快速构建树结构数据

第一步:构建树节点@Datapublic class Node { private int id; private int pid; private String name; private List<Node> sub = new ArrayList<>(); public Node(int id, int pid) { this.id = id; this.pid = pid; } p

2021-07-20 11:43:33 2335 1

原创 java如何快速创建List

使用Arrays.asList(…args) 直接返回一个ListList s = Arrays.asList(“1”,“2”,“3”)如果引入了Guava的工具包,可以使用他的Lists.newArrayList(…args)方法List list = Lists.newArrayList(“1”,“2”,“3”)

2021-07-20 11:16:52 805

原创 @JsonInclude(Include.NON_NULL)简单使用

场景:当给前端返回的json字符串中字段为null的时候,他希望能够不要出现这个字段。说白了,实体类与json互转的时候 属性值为null的不参与序列化。解决方式:加上@JsonInclude(Include.NON_NULL)注解

2021-06-28 10:30:47 281

原创 谷歌浏览器升级到91出现跨域问题,导致cookie保存的sessionId不一样

先来说一下问题:谷歌浏览器升级到91之后出现一个跨域问题,导致接口的session不一致。如下图:这是第一个接口:这是第二个接口这本应该是同一个session,由于跨域问题导致不同。为什么会出现跨域问题?原因是前端运行的时候的访问地址是:http://localhost/#/login正确的应该是:http://172.16.112.114/#/login之前没问题是因为谷歌浏览器91之前可以设置SameSite = None 或者忽略掉。总结一下:第一点:谷歌91默认跨域设置

2021-06-08 11:11:07 2315

原创 代码优化笔记,数组应用

....其他业务逻辑 int num = 0; int num2 = 0; int num3 = 0; int num4 = 0; int num5 = 0; for (int i = 0; i < fileDto.size(); i++) { //...替他业务逻辑 fileType = fileDto.get(i).getFileType(); ...

2021-06-03 15:49:42 65

原创 kafka简单使用

1.先启动zookeeper,配置环境变量。cmd—>zkserver2.启动kafka进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入.\bin\windows\kafka-server-start.bat .\config\server.properties3.创建主题,名称为testbin/kafka-topics.sh --create --zookeeper localhost:218

2021-05-20 11:00:02 154

原创 使用枚举局部优化代码

开发中写出这样一段代码,如下图 if (entity.getTestResult()) { deviceDetectDto.setTestResult("是"); } else { deviceDetectDto.setTestResult("否"); }

2021-05-08 11:05:51 179

原创 事务失效的几个常见点

今天导入excel记录,导入失败。但事务并不回滚。记录一下原因。本人犯的错误是第二点1、@Transactional 应用在非 public 修饰的方法上有时候会大意,在private方法上添加事务注解。这会导致事务失效2、try…catch。catch捕获到异常,一定要再抛出,不然catch会吞掉异常,导致事务失效。还有一种情况是,同一个类中,A方法添加事务注解,A方法调用B方法,然后B方法抛出异常被A捕获。这种情况下,事务也不能回滚。3、同一个类中多方法调用。比如A方法----->调用B方

2021-05-06 11:36:11 258

原创 Mybatis-plus多表关联分页,得到的总记录数不正确

问题:使用mybatis-plus关联多表分页记录的时候。得到的总数记录数不正确。先看代码 int rank = 0 ; QueryWrapper queryWrapper = new QueryWrapper<>(); Page page = new Page<>(statisticQueryVo.getPage(), statisticQueryVo.getSize()); queryWrapper.eq("su.is_dele

2021-04-15 15:44:13 3344 2

原创 Dell更新系统之后,电脑可以微信聊天,但不能用浏览器打开网页

遇到的问题:Dell更新系统之后,电脑可以微信聊天,但不能用浏览器打开网页。解决方法:1.win+X选择window powershell (管理员)2.在提示框输入netsh winsock reset3.重启电脑

2021-03-24 10:40:05 1153 1

原创 时间格式24小时制和12小时制

今天遇到一个时间的小问题。就是粗心把小时制度搞错了。记录一下:HH是24小时制,hh是12小时制区别就是:大写的H是二十四小时制的小时数(0-23),小写的h是十二小时制的小时数(am/pm 1-12)//24小时制SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//12小时制SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

2021-03-17 15:09:00 3360

原创 多个List整合成一个List

开发中经常碰到多个list整合成一个的情况。比较通俗易懂的做法是: List<String> businessLicense = accessoryDto.getBusinessLicense(); List<String> agencyDocument = accessoryDto.getAgencyDocument(); List<String> otherDocuments = accessoryDto.getOtherDocuments(); L

2021-03-08 17:37:17 12387

原创 excel导出报Could not find acceptable representation异常

原因是:使用的@RestController注解,该注解会将返回结果转正JOSN格式。但导出的是文件流,才导致了报转换异常解决办法:改用@Controller,但需要注意的地方是,如果还有方法需要以JOSN格式返回。需要再添加上@ResponseBody...

2021-03-05 14:45:29 1314

转载 JSON数据处理之扁平化对象输出

有时候返回json的数据中的属性存在在多个对象之中。我们期望它能够整合起来,去掉对象的外衣。这个简单理解为对象扁平化@Getter @Setter@ToStringpublic class Account { @JsonUnwrapped private Location location; @JsonUnwrapped private PersonInfo personInfo; @Getter @Setter @ToString public s

2021-02-26 10:57:22 899

原创 如何正确使用Optional

Optional能解决什么问题实际业务开发中经常收到空指针异常的困扰。所以了解一下Optional。Optional 是 Java8 提供的为了解决 null 安全问题的一个 API。我们先来看一个例子public static String getChampionName(Competition comp) throws IllegalArgumentException { if (comp != null) { CompResult result = comp.getRes

2021-02-25 15:03:27 520 4

原创 javaIO流理解和使用

IO的分类以数据方向以程序作为参考系的,主要分为两大部分。第一:数据流入程序,成为输入流。第二:数据从程序流出,成为输出流。以数据类型第一:字节第二:字符以数据位置从作用上来说,还可以分为节点流和处理流。第一:节点流,是数据的来源点或者目的点第二:处理流,负责中间的数据处理,比如说过滤;缓存;格式化输入输出,这些都对应的特定的处理流决定使用哪个IO流的类一般判断标准。1.明确方向(明确输入输出类型)是输入到程序?还是程序输出如果是输入到程序,就是使用InputStream或

2021-02-25 11:31:18 88

原创 JQuery根据时间查询Pgsql中的数据

需求:使用JQuery,操作pg数据库,查询一天之内的打卡记录前提:pgsql数据库;数据库中打卡时间类型为timestamp;前端的传过来的时间类型为String做法:第一步:添加注解@DateTimeFormat(pattern = "yyyy-MM-dd") Date clockTime第二步:booleanBuilder.and(attendanceEntity.clockTime.between(DateUtil.beginOfDay(clockTime),DateUtil.end

2021-01-27 11:45:00 317

原创 原生JPA删除,修改操作出现【org.postgresql.util.PSQLException: 查询没有传回任何结果。】

问题:原生JPA删除,修改操作出现【org.postgresql.util.PSQLException: 查询没有传回任何结果。】。解决:需要添加 @Transactional 和 @Modifying两个注解(百度了半天,竟然找不到一篇解决方法。泪目。在这里记录一下)...

2020-12-07 16:56:07 2273

原创 使用RestTemplate调用第三方接口,获取数据。

需求:最近接触的项目需要和另外的开发团队合作。这就导致了开发模式是调用他们的接口,从而获取数据。作用:springBoot在这个方面已经为我们提供了一种比较方便的方式。那就是使用RestTemplate。RestTemplate提供了多种访问Http服务的方式,其中最常用的就是Get请求,Post请求。Post请求使用方式:代码如下RestTemplate restTemplate = new RestTemplate();String url = "http://113.207.68.117:9

2020-09-10 11:21:42 4244 1

原创 Git保存工作现场

场景:今天上午更新了项目的最新代码,知道下午已经在本地上进行了很多功能的改动。这个时候导师叫我紧急处理一下该项目这个模块的bug。这个时候我有两种方式:​ 第一种,如果代码未完全,那只能忍痛割爱了,直接check out ,把代码返回今天我上午刚更新的状态;如果代码已完成,还没测试,那最好不要提交到服务器,未测试的代码对服务器就是灾难。还是得check out。这样一来,我添加的代码就完全消失。我上午白干了。​ 第二种,把我的工作内容保存起来。等bug修复后,我再恢复工作现场。很明显,第二种更为人性化。

2020-08-27 11:23:15 263

原创 使用JPA原生sql对单表进行操作

代码例子:第一步:先获取***EntityManager***对象,获取该对象有两种方式方式一:是可以直接使用**@PersistenceContext**注解,直接注入。(未测试,不知道成功性)//方式一@PersistenceContextprivate EntityManager em;//方式二private static EntityManager entityManager = SpringContextUtil.getBean(EntityManager.class);方式二

2020-08-26 11:15:50 330 1

原创 代理模式

什么是代理模式代理模式,从我们日常生活中也是处处可见。明星和她的经纪人就是代理模式,经纪人可以帮助明星处理接戏,片酬等事务,最后由明星来拍戏。这个例子中我们可以看到几点:第一,导演找明星拍戏,没有必要直接面对明星,他第一面对的对象是经纪人。换句话说,明星这个对象被深一层封装起来。第二,经纪人只是负责协商,他不能替代明星去拍戏。换句话说,核心业务是由被代理者(明星)完成的。有的人会问,为什么要有这种设计模式。明星也可以去协商,也可以去拍戏啊。这就是体现了分工协作的重要性。让一个人专注于自己的专业,可以更好提

2020-08-24 14:46:38 86

原创 sql 基本用法

sql 基本用法闲来无事,自己总结了一下平时业务中常用的sql,网上有很多。但自己总结出来的才是真自己的添加:insert into XXX values(XXX,XXX,XXX)删除:delete from XXX where XXX = XXX修改:update XXX set XXX where XXX =XXX查询:​ 常用关键字:​ 多表: left join XXX on XXX​ right join XXX on XXX​ in

2020-08-14 17:04:00 205

原创 编码中的JOPO的理解和使用

DTO:用于程序之间的数据封装,比如调用第三方系统得到的数据,就用dto来封装VO:程序经过数据处理,将最后的结果返回给前端展示BO:前端给我们传送的业务数据DAO:数据库entity:对应数据表实体...

2020-08-07 16:02:43 694

原创 Optional的理解

A.Optional解决了什么问题?​ Optional解决了程序中常见的空指针异常.B.Optional怎么使用常用API:创建实例:1.of()Optional<User> opt = Optional.of(user);2.ofNullable()Optional<User> opt = Optional.ofNullable(user);这两个方法的区别在于,如果你传入的参数为null,那么of()会抛出NEP异常。ofNullable不会。所以不确

2020-08-07 16:00:16 613

原创 webSocket简单入门使用

需求:在新增报警事件和处理告警事件同时将消息进行推送webSocket有什么用?系统中的实时消息通讯是很常见的。之前的解释方式是使用轮询技术(具体我不懂,没使用过),但轮询技术的缺点就是需要反复发送请求。webSocket的出现机制就是可以不需要反复发送请求,又能做到实时通信。webSocket怎么用?知道了webSocket的作用,那它是怎么在代码中实现的。代码例子如下:代码说明:必要注解@ServerEndpoint:该注释表示将WebSocket服务器运行在ws://[Server端IIP

2020-08-07 15:54:57 559

原创 解决idea maven项目无法打包手动加入的jar包

标题:解决idea maven项目无法打包手动加入的jar包条件:1.当maven工程的pom.xml文件中无法加入包依赖(可能是依赖路路 径过期)。2.本地存在该jar包。问题:当我们手动向Libraries里面加入本地的jar,编写代码的时候是可以找到依赖的。但是在项目打包成war包的时候出现丢失。原因:idea只会把pom.xml里面记录的jar包放入到web-inf,...

2020-02-27 12:35:35 4151

原创 Mysql启动缺失MSVCR120.dll文件

1.mysql 启动 错误1053:服务没有及时响应启动或者控制请求原因:之前删除的Microsoft Visual 2013导致 后续的Mysql启动缺少MSVCR120.dll文件。解决:利用360修复缺失的文件。开启360管家,打开目录C:\Windows\SysWOW64,这时候会提醒你缺失的文件,并提示你是否下载。傻瓜式下载就可以了。...

2019-06-22 14:50:24 946

原创 SpringMVC知识点

需要自己编写的部分有:配置前端控制器编写需要的Handle,也就是控制器。还需要给控制器进行配置。(配件配置,注释配置。为了让HandleMapping找的到handle)编写返回的视图,一般是jsp页面不需要自己关心的:HandleMapping如何去寻找HandleHandleAdapter如何执行Handle如何将逻辑视图解析如何将的到视图进行渲染...

2019-05-19 16:14:59 76

空空如也

空空如也

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

TA关注的人

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