- 博客(98)
- 资源 (3)
- 收藏
- 关注
原创 SVN本地代码版本回退和更新提交
不管哪个公司,不管如何强调代码提交的规范,开发分支总有卧龙和凤雏存在,搞一些神乎其神的操作,这不,连续三天被这些卧龙凤雏们因为无心的骚操作,导致我在现场调试程序接连崩溃,实在无奈,我就将版本回退到三天前的状态,在此基础上进行功能开发。N天之后,联调完成,代码需要提交到开发分支。一、备份、备份、备份,重要事情说三遍,先将目前本地完成的代码备份。二、代码先更新,这时候一定有冲突,解决过冲突,接着就可以提交了。尤其是二,解决冲突注意好就可以。
2023-08-01 09:53:51
1855
原创 使用Idea中将单个java类打包成jar包
然后点击右边小窗口的Build就可以了。到此打包结束,别的还提到了还要编写清单文件 MANIFEST.MF,我这里没有操作这一点,普通的Java项目不需要创建MANIFEST.MF。4.加载编写出的单个类文件(编译后的 .class 文件,一般在 target 目录下),如下图打开添加file, 找到文件。开工第一天,正在暗自爽,领导让帮个忙,给一个工具类打成jar包,供其他项目组使用,这就开始了尝试。其实网上已经有好多人写过了,只是尝试了几篇,坑得不轻,自己做下笔记,留作后面在遇到此种情况参考吧。
2023-01-29 16:13:52
5824
原创 No constructor found in ........ matching [java.lang.Integer, java.lang.String, java.lang.String
写了个简单查询,竟然程序报错了,上网上搜吧,一堆的各种加无参构造方法的说法,总感觉不是解决问题的根本点,好端端的一个对象,无缘无故怎么就会缺少无参构造方法了呢?思路:对象上用了两个注解方法@Data、@Builder,问题应该就在这两个注解上面原因:@Builder对一个DTO实现一个构造器,但是在做Json反序列化的时候发生错误,原因就是缺少无参公共的构造函数,但是呢,手动写一个无参构造函数的时候,编译会发生错误,就是和@Builder冲突。就是@Builder注解会把对象的默认值清掉,但又不能成功
2023-01-09 18:30:38
1493
1
原创 文件上传过大被限制问题-springboot
第一种:1、创建配置文件。import javax.servlet.MultipartConfigElement;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.servlet.MultipartConfigFactory;import org.springframework.context.annotation.Bean;import org.spring
2022-05-27 21:56:15
3898
原创 数据同步--分页中开启多线程进行数据同步(1)
在进行接口之间数据同步时候,数据量大的话,定时任务或者接口会执行很久,需要优化的话,思路可从以下几点考虑:1.先分页处理。2.分页中进行多线程处理。3.根据服务器配置,决定开启的多线程条数,一般的服务器配置建议开启10-15个。代码逻辑参考如下: //数据总条数 int total = xxxxxx.selectCount(); //共查询多少次 int count = 0; if (total > pageSize
2022-04-25 16:27:09
1134
原创 将A表的某个字段的值赋值给B表的某个字段-mysql(二)
将A表的某个字段的值赋值给B表的某个字段上次提到将B表中的数据插入到A表中了,在A 表中生成了新的唯一标识UUID,然后现在需要将A表中的字段值UUID再替换掉原来在B表中的字段值。代码:update sys_attach a inner join sys_file_message b on b.FILE_PATH = a.ATTACH_SRC set a.ATTACH_SRC = b.FILE_MARK ;...
2022-02-25 17:57:42
1078
原创 将A表某个字段的值赋值给B表的某个字段,批量插入不重复uuid数据(一)
将A表某个字段值赋值给B表的某个字段,批量插入不重复uuid数据背景:背景就是将A表某个字段值赋值给B表的某个字段。问题:因为使用UUID后,要进行去除空格,使用select replace(uuid(), ‘-’, ‘’),执行sql之后,批量数据的UUID是同一个值,生成的uuid全部重复(是navicat执行顺序的问题)。解决方法:使用select md5(uuid())代码:INSERT INTO sys_file_message ( FILE_MARK, FILE_TYPE, OLD
2022-02-25 15:04:44
603
原创 按照指定规则顺序进行排序 mysql
需求背景:客户要求多种多样,图片展示排序也是个性化突显,现场需要拍十张图片上传取证,但个性客户要求前5张图片要指定5个类型且指定排序,后五张不指定,故设计数据库表的时候,在全局参数配置表中增加一个顺序的参数(下面会贴上图),一是在取证拍照时候,前端根据参数配置的顺序去排版,二是在图片回显时候,也根据这个参数配置的类型数据去回显。过程:1.参数配置如图:2.前端拍照框展示:前端会调取后端公共接口去获取参数配置表数据,根据上面图一中的顺序去展示。3.前端页面回显3.1前端页面也许按照参数配置表中
2022-02-24 16:07:03
716
原创 Hutool线程工具--ThreadUtil
关于Hutool中线程工具-ThreadUtil的使用JDK1.5开始Java提供了concurrent包可以供我们使用和解决并发以及线程的问题但是在具体实现上需要我们动手的逻辑还需要造轮子,那么ThreadUtil的出现就是为了更简单的使用线程。自己试着用了其中两个方法,写了两个demo玩,发觉挺好用,记录一下。方法1:ThreadUtil.excAsync();方法1:ThreadUtil.execute();demo:@Testpublic class AsyncTestControll
2021-12-16 21:02:23
18389
6
原创 base64上传文件,后端接受处理(四)
前端把文件(图片,视频,音频,压缩包)以base64流的形式上传文件,调取后端接口,进行上传。上代码吧:第一步,先建个对象:import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import lombok.Data;import javax.validation.constraints.NotBlank;@Data@ApiModel("文件上传")public clas
2021-12-09 16:52:38
33409
2
原创 文件通过后台判断获取,图片以流的形式返给前端,zip下载包直接弹框下载(三)
没想到啊没想到,还有这么变态的需求功能,没想到还会再来记录个三,前两次写好了返给前端图片流了,这回呢,需求变成:是图片,进行登录权限校验,是压缩包zip,进行下载,是音频或者视频,不校验,直接以流的形式返给前端展示,改代码后,结果如下:先说下,我这是在linux环境部署的项目运行。package com.xxx.micro.safemanageexternal.controller;import com.xxx.micro.common.util.ResultUtil;import com.xxx
2021-12-09 14:06:07
430
原创 文件通过后台判断获取,并转成base64格式返给前端(二)
接上一篇写完,接下来测试时候,发现了问题,图片就在本地,部署的服务器上存储着,不需要通过http所谓的网络请求,好吧,改代码,获取本地图片:代码:package com.xxxxx.xxxxx.xxxxx.controller;import com.xxxxx.micro.common.util.ResultUtil;import com.xxxxx.micro.common.web.BaseController;import io.swagger.annotations.Api;import
2021-12-06 10:35:50
541
原创 文件通过后台判断获取,并转成base64格式返给前端(一)
最近的程序都是部署在linux系统,原来需求是通过前端拼接地址,可以经过nginx的转发,请求到图片文件,但被客户提出这样不安全,需要加拦截判断,就改成文件由后台获取判断,符合了,就转成base64格式,返给前端。有两种写法:1:HTTP网络图片:package com.xxxxx.xxxxx.xxxxx.controller;import com.xxxxx.micro.common.util.ResultUtil;import com.xxxxx.micro.common.web.BaseCo
2021-12-06 10:27:02
608
原创 list转换成树形结构
list转换成树形结构开发中常常遇到查出来是list,但需要转换成树形结构,特别是遇到省、市、县、区或者部门角色查询等,这时候可以在sql语句中处理,也可以在代码中转换,先将代码中处理方式贴出来public static List<Map> convertToTree(List<Map> list) { List<Map> all = list.stream().filter(t -> !t.containsKey("parent
2021-07-02 15:56:20
1763
原创 遍历MAP的三种方式
遍历MAP的三种方式第一种:普遍使用,二次取值通过Map.keySet遍历key和value:for (String key : map.keySet()) {System.out.println(“key= “+ key + ” and value= ” + map.get(key));}第二种通过Map.entrySet使用iterator遍历key和value:Iterator<Map.Entry<String, String>> it = map.entry
2021-06-16 16:07:23
173
原创 系统接口对接:(3)--系统之间接口请求调用的工具和方法-commons-httpclient-3.1
前面写过系统之间接口请求调用的工具和方法,这次再补充一个:用commons-httpclient,版本3.1来操作,简单易用pom添加依赖: <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version&g
2021-03-17 11:30:50
1856
原创 springboot2.4.1降级到springboot2.0.6.RELEASE的坑
前提:(这次项目很被动,被牵着鼻子走,以至于遇到一个坑又一个坑)紧急会议支援另一个团队的前端,了解任务需求后,在外网三下五除二搭建好后台框架,功能测试完毕交付给前端,第一个坑:前端说她在内网敲的代码,我搭建好的项目需要移到内网(内网无法联网),关键是后期部署的环境也不在内网,搞不懂她为啥写在内网,当时觉得无所谓,迁移代码就行,就做了。第二个坑:代码迁移到内网,项目导进IDEA,maven update-----直接挂掉。。。。。。。,原因:内网的maven私服里面,jar包缺失严重,没几个jar包,
2021-02-24 11:37:35
1429
原创 如果查询出的数据为空,则设为0 postgresql
postgresql如果查询出的数据为空,则设为0的方法select COALESCE(b.price, 0) as price from fruit_sale b拓展:数据库类型不一样,方法函数就不一样,比如:oracleselect nvl(字段名,0) from 表名;sqlserverselect isnull(字段名,0) from 表名; mysqlSELECT SUM(IFNULL(数值字段,0) )...
2021-02-06 15:19:21
3902
1
原创 根据路径地址压缩文件/文件夹-zip,并下载zip(二)
该功能和需求及逻辑在上篇一中已经说明和实现,这是第二种压缩方法,下载同上,只是代码量相对少些,也做下笔记吧。@GetMapping("/zip") public void zip(String srcDir, HttpServletRequest request, HttpServletResponse response)throws Exception { System.out.println("压缩中..."); // 本地资源路径 Stri
2021-01-06 18:07:06
730
1
原创 根据路径地址压缩文件/文件夹-zip,下载zip,删除压缩包zip(一)
业务需求:客户需要根据选择省市县区来下载对应行政区划下的图片,且里面图片文件夹及内容建立的顺序也要是省-市-县/区-镇/街道。。。。顺序建立,思路:存储时候按照上面行政区划顺序建立文件夹存储,下载时候根据前端传来行政区划字段进行查询和压缩下载;百度了一堆方法,无奈个人学识尚浅,他人写的不带注释,看不懂,无奈摸索清楚后,记录此笔记。代码:这时候前端传值url格式,文件夹的话:比如:url=河南省-xx市-xxx县,文件的话:url=河南省-xx市-xxx县.123.jpg @GetMa
2021-01-06 17:38:54
851
2
原创 创建递归树 Java
老规矩,没什么解释的,需要递归树,那就代码实现:public static List createTree(String code,List<MenusVO> menus){ List tree = new ArrayList<>(); for(int i =0;i<menus.size();i++){ MenusVO vo = menus.get(i); if(vo.getParentCode().equal(code)){
2020-12-25 15:15:54
133
原创 去除一个list中包含的另一个list数据
老规矩,直接上代码:public static List<String> listRem(List<String> listA,List<String> listB){ HashSet hs1 = new HashSet(listA); HashSet hs2 = new HashSet(listB); hs1.removeAll(hs2); List<String> listC = new ArrayL
2020-12-23 10:53:33
2802
原创 Double类型计算工具类
Double类型计算工具类:开发中常备的package com.common.utils;import java.math.BigDecimal;import java.math.RoundingMode;/** * 浮点数运算 * * @author wy */public class Arith{ /** 默认除法运算精度 */ private static final int DEF_DIV_SCALE = 10; /** 这个类不能实例化 *
2020-12-15 19:00:59
462
原创 poi-3.17版本 excel导出,excel图片导出
上一篇导出是和若依结合,抛开若依,正常图片导出:此处只写导出工具类,其他请参考上一篇:https://blog.youkuaiyun.com/hanshanyunhai/article/details/111227132只是工具类返回格式有所不同而已,poi还是3.17版本package com.common.utils;import org.apache.commons.io.output.ByteArrayOutputStream;import org.apache.poi.hssf.usermod
2020-12-15 18:49:42
526
原创 获取项目的IP和端口--springboot
package com.common.utils;import org.springframework.boot.web.context.WebServerInitializedEvent;import org.springframework.context.ApplicationListener;import org.springframework.stereotype.Component;import java.net.InetAddress;import java.net.Unknow.
2020-12-15 18:01:27
1085
原创 poi-3.17版本 和若依框架结合--excel导出,excel图片导出
使用若依导出,客户提出要导出图片,原导出不支持,只能用原生的写,返回前端格式要和若依的保持一致,在网上找了一些,结合一下,在若依里面这样使用:图片导出位置在序号后面第一列。依赖包和版本号:poi--3.17版本 <poi.version>3.17</poi.version> <dependency> <groupId>org.apache.poi</groupId&
2020-12-15 17:59:16
3672
7
原创 Map 中object转tSring-工具方法
在Map中,通过map.get("xxx")获取到的object对象,转换String时候,用map.get("xxx").toString()这样的话,如果xxx字段不为空还好,但如果为空,则会报NullPointException空指针错误,解决办法:public static String ObjectToString(Object o){ String s = (o == null)?"":o.toString(); return s; .
2020-12-01 18:53:26
754
原创 JDK8的Lambda、Stream和日期的使用详解
前言本篇主要讲述是Java中JDK1.8的一些新语法特性使用,主要是Lambda、Stream和LocalDate日期的一些使用讲解。LambdaLambda介绍Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式的结构 一个 Lambda 表达式可以有零个或多个参数 参数的类型
2020-10-16 15:25:23
950
原创 系统接口对接:(2)
在上篇的基础上,A系统调取B系统接口,获取数据,用法示例:package com.jeeplus.mobilephone.appointment;import static org.hamcrest.CoreMatchers.nullValue;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;import java.util.Map;i
2020-09-28 16:37:22
792
原创 系统接口对接:(1)
今天贴上系统之间调取接口的工具类代码吧,参数可以是json格式,也可以是string,具体的双方设定好即可,选择合适的:package com.jeeplus.common.utils.baidu;import com.jeeplus.common.utils.StringUtils;import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;import org.apache.commons.httpcl
2020-09-28 16:32:39
1655
原创 数组使用Arrays.asList()方法转换成list的坑
先上代码: String serial= "a,b,c"; String[] ss = serial.split(","); List<String> list=Arrays.asList(ss); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String s = iterator.next(); if (number.equa
2020-09-17 09:23:17
1591
原创 Session的存取
对于session的用法,大家都知道是用来放一些比如是图片验证码啊,短信验证码什么的,至于怎么存放,怎么取,前后端分离开发方式怎么存取,前后端不分离的开发方式又是怎么存取,两种方式是不是存取方法一样?先上个图片吧:其中:request.getSession().getServletContext().setAttribute(key,value)这种用于前后端分离方式的存,后面:String code1 = (String) request.getSession().getServletCont
2020-09-10 18:02:12
655
原创 SpringBoot 集成 easypoi 实现 Excel 导入
使用以前的jxl和apache的poi,今天在项目中给别人帮忙写导入excel,项目框架引入了easy poi,那就再开始用这个玩玩导入吧,废话不说,上代码:1,先引入pom依赖: <!-- easyexcel-excel导出 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</a
2020-09-09 17:02:39
828
4
原创 JAVA实体类(VO)与实体类(BO)之间转换--Dozer
在业务中,我们接受前端传来的对象VO后,为了方便业务,需要把VO转换成BO或者数据库映射的实体类,这时候就需要借助Dozer来直接转换完成。1.pom引入: <dependency> <groupId>net.sf.dozer</groupId> <artifactId>dozer</artifactId> <version>5.4.0</version> &
2020-09-07 15:06:59
5579
原创 项目之间的接口数据交互
场景描述:现有项目A和项目B,因业务需要,要同步两个项目之间的一些数据。项目A的一些信息要推送给项目B:推送方法 String company = "xxxx公司"; String name = "xxxx"; Map<String,String> map = new HashMap<String, String>(); map.put("companyName", company); map.put("dr
2020-08-19 16:58:13
1539
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人