![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
生产中遇到的问题
逆天killer
这个作者很懒,什么都没留下…
展开
-
controller实体类接收参数赋默认值
@Datapublic class Person {private static final String DEFAULT_PAGE_VALUE = 0;private static final String DEFAULT_SIZE_VALUE = 0;private String page = DEFAULT_PAGE_VALUE;//新增加的字段private String size = DEFAULT_SIZE_VALUE;//新增加的字段private String hobby;}原创 2023-06-05 17:55:51 · 624 阅读 · 0 评论 -
工具类读取yml配置
1.注意工具类需要加@component。原创 2023-01-03 10:46:55 · 271 阅读 · 0 评论 -
Optional 常用方法总结以及实战示例
empty : 创建一个空的Optional对象of:为非null的值创建一个Optional。of方法通过工厂方法创建Optional类。需要注意的是,创建对象时传入的参数不能为null。如果传入参数为null,则抛出NullPointerException。因此不经常用。ofNullable:为指定的值创建一个Optional,如果指定的值为null,则返回一个空的Optional。isPresent: 检查一个Optional对象中是否有值,只有值非空才返回true,否则返回false。原创 2022-11-28 11:43:23 · 281 阅读 · 0 评论 -
OncePerRequestFilter自定义效验过滤器
【代码】OncePerRequestFilter自定义效验过滤器。原创 2022-11-28 10:52:01 · 891 阅读 · 0 评论 -
自定义注解+泛型+反射实现SQL拼接
生产需求,代码框架没有用到mybatis,采用SQL直接执行方式。因为需要对不同的表进行插入数据操作,这里通过自定义注解+泛型+反射工具类,实现智能化SQL拼接,代码封装思路挺好的,值得记录学习。原创 2022-08-15 16:51:37 · 463 阅读 · 0 评论 -
springboot自定义注解防止表单重复提交
功能实现:使用了自定义注解、自定义拦截器、redis缓存等知识点。2.防止重复提交拦截器类3.具体拦截逻辑类4.添加自定义拦截器类(必须有这个拦截才会生效)5.过滤器(构建可重复读取inputStream的request)======================== 以下是上述主要逻辑的配套工具类 ========================...原创 2022-08-10 19:07:03 · 320 阅读 · 0 评论 -
解决数据库查询时间少8小时(时区)问题
从业务表查询数据入到统计表。数据库时间存储字段为timestamp,发现从业务表查出的时间数据入统计表后少了8小时。debug经查是查询业务表的输出就少了8小时。采用方法二,修改代码数据库连接即可解决。方式一是修改数据库服务本身的配置。...原创 2022-08-09 20:56:23 · 2650 阅读 · 0 评论 -
List中数据量过大如何处理?集合拆分 + 并发处理(Lists.partition + Semaphore)你值得拥有
代码】List中数据量过大如何处理?集合拆分 + 并发处理(Lists.partition + Semaphore)你值得拥有。原创 2022-08-04 17:32:29 · 840 阅读 · 0 评论 -
分页助手返回数据缺少问题解决
前言生产中遇到分页返回数据异常问题。分页选择10条数据,结果只返回2条,切换第二页可能10条返回3条。问题原因mybatis中使用了一对多,导致查询出来了10条数据,经过一对多的合并,数据就变少了。解决方式拆分SQL,删除一对多写法,改为多次查询,先查主表。...原创 2022-08-01 10:26:46 · 455 阅读 · 0 评论 -
mysql 优化 Using join buffer (Block Nested Loop)
说明:生产环境发现接口响应慢,经查是SQL执行慢,发现是表关联时候右表数据量大,循环嵌套查询速度很慢。如图刚开始SQL执行计划这是测试环境,生产环境fsp_cor_inf数据量很大,经过排查发现是Using join buffer (Block Nested Loop)导致的查询慢,开始解决,首先,在表关联的地方建立索引,然后执行发现没有效果。然后,发现两表字符集不一致,一个是uft8一个是uft8mb4,可能这个原因导致的索引失效。随后修改表字符集然后发现还是没效果,原来上面修改的是表的字原创 2022-07-27 17:15:41 · 1706 阅读 · 0 评论 -
PageHelper自定义count(*)查询解决排序失效导致数据总数不对问题
生产问题:带条件查询全部订单,发现展示数据2条,数据总数40条。分析后发现是分页助手查询总数时候会优化SQL,去除排序,导致SQL中分组求最新一条数据的排序丢失,导致数据不对后条件筛选导致查询count的SQL总数和数据总数不一致。解决方式:自定义count(*)查询最新版的PageHelper支持自定义count,参考链接: https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/Changelog.md#504—原创 2022-07-11 14:17:36 · 1105 阅读 · 0 评论 -
mysql如何先排序后分组group by
**前言:**经常遇到需要对数据进行分组并取组内最新一条数据的需求,这边总结了3种方法。需求:查询业务流程明细表中每个业务流程最新明细信息实现:mysql 5.6可以这样:5.7以后对子查询排序做了优化,子查询全表排序失效,网上很多是在排序后面加limit的,这样感觉很不好,数据量大会丢数据,建议可以这样:方式一:方式二:...原创 2022-07-04 10:34:38 · 6368 阅读 · 8 评论 -
group by分组和distinct去重导致数据量变大
问题出现:1.表通过公司名字distincy去重查询数据100条2.表通过公司地域分组和通过公司名字去重查询数据101条问题分析:存在相同名字不同地域的数据,SQL2先group by 把相同名字的数据分到不同的组里,然后在不同的组里面去distinct去重,所以导致SQL数据总量增多问题解决:找到脏数据,处理脏数据,当前我通过下面SQL查找相同名字不同地域的数据,然后修改脏数据解决问题....原创 2022-06-20 10:06:54 · 1194 阅读 · 0 评论 -
connector.ClientAbortException: java.io.IOException: Connection reset by peer
原因分析:同一只接口,当返回数据少的时候可以,返回数据多时报错,因此定位为后端返回数据过大,而nginx 的 配置文件中,默认的数据转发限制太小引发这种错误。页面接口报错控制台日志报错解决方法:修改nginx.conf文件,新增或修改如下4个参数重启nginx服务,问题解决......原创 2022-06-16 18:03:20 · 573 阅读 · 1 评论 -
Request Entity Too Large 上传文件错误代码413
问题:上传接口本地运行没问题,在服务器就报HTTP 413错误解答:修改配置文件,以nginx为例原创 2022-06-15 10:10:15 · 78 阅读 · 0 评论 -
nginx转发get请求多参数缺少参数问题
问题:nginx发现转发的get请求参数只有一个,&符号后面的第二个参数没了。解决:转发的链接参数&没加转义字符导致的原创 2022-06-08 19:42:42 · 1533 阅读 · 0 评论 -
请求接口报502错误
1.排查代码网关.2.排查nginx转发地址3.如果只是put或者delete请求报错,那么排查nginx配置是否支持4.如果出现问题3,并且支持,那么用IP地址调用put请求,不用用域名调用,看是否可行5.如果IP可行,域名不行,那么就是域名封装IP的时候不支持put和delete请求...原创 2022-06-08 17:35:42 · 8711 阅读 · 0 评论