- 博客(42)
- 收藏
- 关注
原创 CentOS7安装Docker、ES、ES_HEAD、Logstash、Kibana
CentOS安装Docker、ElasticSearch、ES_Head、Logstash、Kibana
2022-10-28 17:09:08
1244
原创 JAVA LIST<Long>快速转LIST<String>
偶然间发现一个问题,获取List传给前端,拿到的值最后两位变成了00。这是因为当Long过长时,到前端数据拉取后几位可能会自动变成0,所以要先处理成String发给前端。List<Long> bindingList = systemSiteExpensesConfigService.getBindingServiceType(bindingServiceTypeDTO);List<String> strings = bindingList.stream().map(x ->
2021-11-30 14:47:16
3793
原创 JAVA list实现对象的灵活查找
举一个简单的例子:我有一个实体SystemSiteExpensesBase,里面有如下参数private Long Id;private Long brandId;private Long partnerId;在调用接口获取List对象时有多条记录。我想判断partnerId字段中是否存在某条记录,假设我的记录值为“123” Long类型。List<SystemSiteExpensesBase> expensesBases = systemSiteExpensesBaseServ
2021-11-25 16:02:41
3659
1
原创 JAVA HmacSHA1生成Signature签名
private static final String MAC_NAME = "HmacSHA1";// 生成SignatureString genHMAC = genHMAC(encryptText, ACCESS_SECRET);/** * 生成加密后的Signature * * @param data * @param key * @return */public static String genHMAC(String data, String key) { byte
2021-10-14 11:09:37
967
原创 JAVA获取UTC时间
import org.joda.time.format.DateTimeFormatter;import org.joda.time.DateTime;private static final String UTC_FORMATTER_PATTERN = "yyyy-MM-dd'T'HH:mm:ss'Z'";// 获取UTC时间DateTimeFormatter fmt = DateTimeFormat.forPattern(UTC_FORMATTER_PATTERN);DateTime no
2021-10-14 11:06:00
4003
原创 MYSQL查询当前月每天的数据,没有设置0
SELECT date as 日期, IFNULL(tab.num, 0) as 数量 FROM (SELECT @cdate := date_add( @cdate, INTERVAL - 1 DAY ) as dateFROM ( SELECT @cdate := date_add(CURDATE(), INTERVAL + 1 DAY ) FROM ccs_work_order )d1 WHERE YEAR(@cdate)=YEAR(CURDATE()) AND MONTH(@cd
2021-09-24 20:04:22
618
原创 IDEA无法以debug模式启动
run正常启动,debug总是过不去。系统接口500异常。最后查看debug断点的时候,看到在method方法上打了断点过不去。将这个对勾去掉就能启动了。
2021-07-26 10:56:43
544
原创 MySQL统计过去12个月的数据。
当前月份往前推12个月份的数据信息。select DATE_FORMAT(cwo.create_time, '%Y-%m') as createDate, count(case when (cwo.process_method_code = 1 or cwo.process_method_code = 2) then 1 END) as hdCount,count(case when cwo.process_method_code = 3 then 1 END) as siteCountfrom c
2021-07-12 15:03:43
763
原创 MySQL递归查询所有下级节点
MySQL递归查询所有下级节点。先上SQL后来讲解其中的含义。select id from ( select t1.id,t1.inviteId, if(find_in_set(inviteId, @pids) > 0, @pids := concat(@pids, ',', id), 0) as isbig from ( select id,inviteId from cu
2021-07-12 10:46:51
3374
原创 MySQL如何一行数据统计多个COUNT
SELECTcount(CASE WHEN 字段 = ‘值’ THEN 1 end) as ‘A’,count(CASE WHEN 字段 = ‘值’ THEN 1 end) ‘B’,count(CASE WHEN 字段 = ‘值’ THEN 1 end) ‘C’FROM tableWHERE 条件
2021-07-08 15:59:55
1560
原创 MySQL如何自定义排序。
需求:根据指定字段将里面不同的值按照我定义的方式排序。select * from table as cwoorder by (case when cwo.work_order_status_code = 1 then 0when cwo.work_order_status_code = 2 then 1when cwo.work_order_status_code = 3 then 2when cwo.work_order_status_code = 4 then 3when cwo.work_
2021-06-24 14:44:31
126
原创 Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC
问题描述:Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986这个错误是接收值的问题。我的错误是因为前端通过GET的形式传了一个数组,接收和校验长度报的这个错误。所以将GET的接收改为:@PostMapping接收参数改为:@RequestBody就可以正常接收参数和在Mybatis中校验参数长度。...
2021-06-24 14:40:45
135
原创 JAVA服务器下载文件内容为空
问题描述:本地下载模版没问题。服务器下载word或者Excel模版内容为空。会在文本内容显示下载成功。来看一下源代码:res.setHeader("Content-Disposition", "attachment; filename=" + fileName);res.setContentType("application/octet-stream;charset=utf-8");这个代码本地没有问题,也不会报错,具体点进去看HttpServletResponse,就会发现没有setConte
2021-05-27 20:51:56
5285
4
原创 JAVA word模版转换数据--工具类
这里先补充一个奇葩的问题,word里面的${}一定要用复制粘贴的。否则会出现分段错误,无法匹配正确的${}package com.it.web.implement;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.util.HashMap;import java.util.List;import java.util.Ma
2021-04-19 09:36:48
297
原创 服务器无法获取header请求头参数
本地测试没问题,部署项目到服务器获取不到。因为对真正的接口服务器做了代理转发,导致接口无法收到header参数,nginx在代理转发之后没有将header转发过去,解决方法就是,找到Nginx配置,添加如下配置:underscores_in_headers on;...
2021-04-12 14:29:33
2543
1
原创 XWPFParagraph.getRuns()替换Word内容分段出错
问题描述:word中写了一个${name},但是分段的时候匹配不全,无法替换word的内容。解决办法:用复制粘贴把你的${name}添加进word文档里面即可解决,不要手打。当然也可以通过代码来解决,思路就是当匹配到$后,截取到下一个}到位置。...
2021-04-12 14:12:45
2126
原创 MySQL统计当前月每一天的数量
MySQL查询这个月的每一天数量select date_format(create_time, '%Y-%m-%d') as create_time, count(*) as count from table where DATE_FORMAT(create_time,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m') and cond = '123456'GROUP BY create_time
2021-04-07 11:04:23
1143
原创 MySQL获取上个月每一天的数据统计
SQL查询上个月每一天的数量。SELECT date_format(create_time, '%Y-%m-%d') as create_time, count(*) as count FROM table WHEREdate_format(create_time, '%Y%m') = date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y%m')and cond = '123456'GROUP BY create_time...
2021-04-07 11:01:38
759
原创 HTTP ERROR 431完美解决
这个错误码感觉挺神奇的,很少有听过这个错误。记录下几个排查的步骤。简单介绍下这个错误的说明:Request Header Fields Too Large (请求头字段太大)某些情况下,客户端发送 HTTP 请求头会变得很大,那么服务器可发送 431 Request Header Fields Too Large 来指明该问题。正文先来说一下我解决的方案:域名问题:修改前端vue.config.jsproxy: { target : `http://127.0.0.1:8080`}域
2021-04-04 16:45:56
40679
3
原创 Illegal base64 character 3a
这个问题一般都是转译的问题。或者在写decode的时候写成了file.byte[]。if (file.contains("data:")) { int start = file.indexOf(","); file = file.substring(start + 1);}final Base64.Decoder decoder = Base64.getDecoder();file = file.replaceAll("\r|\n", "");file = file.trim();
2021-02-28 13:27:55
18105
2
原创 Input byte array has incorrect ending byte at 420652
这个问题一般都是转译的问题。或者在写decode的时候写成了file.byte[]。if (file.contains("data:")) { int start = file.indexOf(","); file = file.substring(start + 1);}final Base64.Decoder decoder = Base64.getDecoder();file = file.replaceAll("\r|\n", "");file = file.trim();
2021-02-28 13:25:30
8937
原创 MyBatis中如何计算数值
MyBatis中如何计算加减乘除:先来看一下mysql中的写法:update table set bean = (case when FLOOR(((bean / 400) * 675)) > 5000 then 5000 else FLOOR(((bean / 400) * 675)) end) where DATE_TIME = '2021-02-05'这里的FLOOR是舍小数位,向下取整。再来看一下MyBatis的写法:<update id="updateDe
2021-02-28 13:05:20
4929
原创 微信config:invalid signature完美解决
最近开发小程序一直受这个错误的影响,迟迟解决不出来,按照官方的解决方案也都尝试并没有效果。先直白的说我最终的解决办法:登陆微信公众平台-设置-JS安全域名把URL地址输入进去,如果是静态的话可以直接输入域名不需要带入后面的参数。下面再来说一下官方的步骤及解释:官网关于签名生成的规则:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大
2021-02-21 23:21:13
5666
7
原创 Java Object转任意对象
通过com.fastxml.jackson的ObjectMapper对象进行转换:ObjectMapper objectMapper = new ObjectMapper();objectMapper.convertValue(Object fromValue, Class<T> toValueType);举个小栗子:
2021-02-07 17:07:50
3685
1
原创 MySQL计算值不保留小数
MySQL中计算默认是四舍五入的。要是直接舍掉小数位需要用到FLOOR()函数。ceil() / ceiling() 向上取整ex: ceil(1.2) = 2floor() 向下取整ex: floor(1.2) = 1round() 四舍五入给出一个我写的例子:update guess_detail set award_bean = (case when FLOOR(((BEAN_COUNT / 400) * 675)) > 5000 then 5000 else FLOOR((
2021-02-06 11:24:41
5425
原创 CSRF防御实施方案
Web前端每次发送AJAX web请求(包括POST,GET)前,都要产生一个随机token。将token以’HALO_TOKEN’标签名,放入每次AJAX请求的Header中,作为http报文一部分发送至服务端。对服务端响应的特殊错误码(0008)做相应CSRF风险提示。token创建读取SEED值。SEED可以用sessionId,也可以用固定的值。SEED建议24位,不够用0后补位。每次发送服务端请求前,基于SEED和当前客户端系统时间毫秒数,产生一段随机可逆的明文。随机选
2021-02-06 11:07:58
435
原创 Java模拟生成OPENID
public static void main(String[] args) { for(int i = 0; i < 10; i++) { // 增加标识,OPENID默认28位 System.out.println("o2xSPw" + genRandomNum()); }}public static String genRandomNum(){ int maxNum = 37; int count = 0; char
2021-02-05 17:43:33
2530
5
原创 Tomcat三个端口的作用
服务器遇到tomcat端口的问题,在这里记录一下。这里先以默认端口号作为解释。8005<Server port="8005" shutdown="SHUTDOWN">关闭tomcat通信接口。port:指定一个端口,这个端口负责监听关闭Tomcat的请求shutdown:向以上端口发送的关闭服务器的命令字符串8009<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>与其他http
2021-01-31 17:19:37
2120
1
原创 SpringBoot扫不到Mapper包
application.yml检查是否增加了mapper-Locationsmybatis: mapper-Locations: classpath*:/mapper/*.xml configuration: map-underscore-to-camel-case: true # 数据库_对象转驼峰自动转换这里我设定的mapper.xml在resource/mapper下面Springboot启动类增加@MapperScan注解,扫描Mapper路径mapper.x.
2021-01-30 17:42:25
1313
原创 Springboot启动项目时报错:java.lang.ClassNotFoundException: javax.servlet.Filter
原因是pom.xml文件增加了<scope>找到以下两处将<scope>注释掉即可。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <!--<scope>provided</scope>-->
2021-01-30 17:30:24
970
原创 SpringBoot-定时任务
简单的办法就是用基于注解(@Scheduled)方法。SpringBoot启动类增加注解@EnableScheduling启动定时任务实现类增加注解@Component主要用于标记配置类,兼备Component的效果。实现方法增加注解 // 凌晨1点执行 @Scheduled(cron = "${ims.sync.corn-expression}") public void syncFolderJob() throws InterruptedException
2021-01-30 17:12:56
155
1
原创 Java时间相关操作
记录一下常用的日期方法获取某个时间的方法这里提供一段方法供大家参考private static Date getFormatDate(String updated) throws Exception{ String partOfDate = updated.substring(3); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); if
2021-01-29 11:08:02
94
原创 JAVA初级面试题300+
面试题集基础及语法部分:(共61 题:基础60 道、中等难度1 道)1、面向对象的特征有哪些方面? 【基础】答:面向对象的特征主要有以下几个方面:1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继
2021-01-23 17:29:12
2371
原创 Elasticsearch_head插件的增删改查
开始前先来了解一个简单的事情:RestFul。为了方便直观我们使用Head插件提供的接口进行演示,内部调用的RESTful接口。RESTful接口URL的格式:http://IP:PORT/{}其中_index、_type是必须提供的(稍后为大家展示这两项的数据方便理解)。_id是可选的,不提供es会自动生成。_index、_type将信息进行分层,利于管理。_index可以理解为数据库;_type理解为数据表;_id相当于数据库表中记录的主键,是唯一的。可以通过数据动态、基本查询来确定这
2021-01-23 16:22:55
936
原创 JSON的多种使用方法
1. 常用的JSON转换JSONObject 转 JSON 字符串JSONObject json = new JSONObject();jsonObject.put("name", "test");String str = JSONObject.toJSONString(json);JSON字符串转JSONString str = "{\"name\":\"test\"}";JSONObject json = JSONObject.parseObject(str);实体类转JS
2021-01-17 15:28:42
1686
1
原创 Caused by: net.sf.jsqlparser.parser.ParseException
错误异常:Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "(" "( "" at line 3, column 11.Was expecting one of: <EOF> "AS" ... "DO" ... "INTO" ... "FROM" ... "WHERE" ... "XML" ... "GROUP" ... "VALUE
2021-01-09 16:42:34
4602
原创 一次由Lombok的@AllArgsConstructor注解引发的错误
需求:在Service实现中写了一个方法调用第三方接口同步数据。功能代码不做展示,比较普通的调用接口返回JSON数据。直接看SpringBoot启动的报错信息:Parameter 3 of constructor in org.springblade.modules.system.service.impl.UserServiceImpl required a bean of type 'java.lang.String' that could not be found.在附一张图:看了许多文章都
2021-01-09 10:40:58
6515
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人