
平时开发的笔记
文章平均质量分 53
LJWWD
这个作者很懒,什么都没留下…
展开
-
docker 部署 sentinel ,包含实时监控不显示的解决方案
从网上总结的几个可能会导致Sentinel没有实时监控的原因。容器中的时间不对,这个需要1.2. Dockerfile文件内容中设置时区参数端口没有打开,需要打开文章中涉及到的端口(服务器防火墙和安全组)网络问题,需要在3. 给docker容器创建网络中创建网络(我就是这个问题。。Spring cloud版本问题,这个得查询相关资料,核对版本是否兼容。原创 2023-03-14 10:25:53 · 2811 阅读 · 0 评论 -
Spring使用mongoDB步骤
在docker运行的情况下,执行下述命令。执行docker ps后,出现下列行,即表示mongoDB安装成功。(注意自行打开服务器防火墙和安全组)原创 2023-02-25 01:11:56 · 859 阅读 · 0 评论 -
微服务:gateway+security+nacos实现微服务的认证授权方案
用户通过客户端访问项目时,前端项目会部署在nginx上,加载静态文件时直接从nginx上返回即可。当用户在客户端操作时,需要调用后端的一些服务接口。这些接口会通过Gateway网关,网关进行一定的处理(jwt合法性校验,黑名单、白名单,过滤一部分请求)之后再转发给具体的微服务。具体的资源服务会对请求进行解析,判断当前登录用户是否有权限调用该资源的接口。原创 2023-02-07 00:28:27 · 5723 阅读 · 1 评论 -
实操微服务过程中的注意事项
引入下方代码,使用springboot提供的Maven插件进行打包即可。注意可以修改最后的文件名,还有得指定启动类。也可以直接通过修改jar包来指定启动类。将jar包和Dockerfile文件放到服务器的同一位置后,执行docker命令。Dockerfile文件内容。原创 2023-01-28 19:16:58 · 245 阅读 · 0 评论 -
docker部署redis后,修改配置文件的requirepass后无效
执行docker run命令时不要使用参数。原创 2023-01-21 02:36:21 · 4630 阅读 · 0 评论 -
如何通过idea查看依赖包源码,解决错误Cannot download sources Sources not found for:
IDEA 在使用某些类方法想看下源码具体是啥时,由于只有 class 反编译的类文件,没有原始 Java 文件,因此想要将源码下载下来,却报了一个错误 Cannot download sources Sources not found for:XXX。这样子会将源码以及文档都下载下来,就不用每次点击手动下载了。运行完毕后,等待下载完成,再次点击源码的类就能看到文档了。如果还不行的话,尝试一下更换 maven 版本试一下。可以在 terminal 运行。maven所在位置为。原创 2022-12-22 22:32:19 · 1358 阅读 · 1 评论 -
使用docker对新买的服务器进行环境搭建、配置、部署(CentOS系统)
新买的服务器,一定要记得根据自己的需求开放端口和安全组(,要都开放之后才能对外使用该端口)比如说想要使用Navicat或者别的应用远程连接数据库,一般情况下需要开放服务器的3306端口(有的教程会让直接关闭防火墙,不太推荐)。在服务器上开放3306端口之后,需要进入之前购买该服务器的网站中把安全组开放。如下图所示,因为我安全组中没有允许3306端口,所以就算服务器开放了3306端口,我们也无法连接到数据库。原创 2022-10-03 18:15:34 · 2048 阅读 · 0 评论 -
MySQL在InnoDB引擎下使用where in 导致锁升级
一、项目场景:在学习mysql锁相关知识,自己操作时发现了一个现象:对于命令select id from test where id in () lock in share mode;当in中元素超过2个时,会锁住所有记录,升级成表锁。二、问题描述1. 问题复现1.1. test表中数据1.2. performance_schema.data_locks数据1.3. 手动开启事务,并执行以下命令。select id from test where id in (2) lock in原创 2022-05-31 00:55:03 · 799 阅读 · 0 评论 -
多线程分片文件上传报FileNotFoundException异常
出现java.io.IOException:java.io.FileNotFoundException:/home/admin/appName/.default/temp/tomcat.4504264197870423949.7001/work/Tomcat/Localhost/ROOT/upLoad_ff92855a_13c6_49d9_bbdf_1c062fb9bfd9_00000004.tmp(没有那个文件或目录)的错误。参考博客错误部分代码:// 写入分片的数据accessFile.writ原创 2022-03-17 21:45:22 · 1250 阅读 · 0 评论 -
mybatis处理有关联关系(多对多)的分页查询
一、业务场景需要给前端返回下图所示格式的数据,其中user和role是多对多关系。MyBatis-Plus如何自定义分页在xml中写完代码,使用MyBatis-Plus自定义分页之后发现下面的一些参数对不上。发生这个情况的主要原因是使用了join,导致数据库返回的数据有重复。而MyBatis-Plus中是根据返回的记录做分页。如果下图中size=3,current=1,则只会返回前三条记录,即只会返回admin这一个用户。二、解决方案1. 针对sql解决问题首先是最开始有问题的sql代原创 2022-03-09 00:49:14 · 3047 阅读 · 0 评论 -
使用WebMagic进行java爬虫的总结
WebMagic介绍WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-core)是一个精简的、模块化的爬虫实现,而扩展部分则包括一些便利的、实用性的功能。WebMagic的架构设计参照了Scrapy,目标是尽量的模块化,并体现爬虫的功能特点。这部分提供非常简单、灵活的API,在基本不改变开发模式的情况下,编写一个爬虫。扩展部分(webmagic-extension)提供一些便捷的功能,例如注解模式编写爬虫等。同时内置了一些常用的组件,便于爬虫开发。WebMagic的中文文档原创 2022-03-01 12:50:11 · 1616 阅读 · 0 评论 -
sql 语句笔记(记录用过的高级sql)
1、在group by 中显示聚合函数中内容参考:MySQL教程之concat以及group_concat的用法select goods_num , group_concat(operate_type ORDER BY created_at desc ) from goods_step group by goods_num;2、substr() 字符串分割函数语法:substr() 函数返回字符串的一部分。 语法:substr(string,start,length)string原创 2021-12-26 13:05:04 · 71 阅读 · 0 评论 -
docker容器创建时设置时间 timezone = “GMT+8“
docker run -d -p 8082:8082 -v /root/docker_demo/java/preoperative_planning_8082/staticFile:/staticFile -v /root/docker_demo/java/preoperative_planning_8082/config:/config -e TZ="Asia/Shanghai" --name preoperative_48 preoperative_48其中设置时间 timezone = “GMT+原创 2021-11-05 18:30:19 · 1761 阅读 · 0 评论 -
关于开发日志功能操作人存储user表的主键id还是字符串name
对比 存储id和存储name优点:(存储id的优点,存储name的缺点)1、用户修改name字段时,日志中的操作人name会跟着变化缺点: (存储id的缺点,存储name的优点)1、删除user表中的该用户后,日志表中无法正常显示操作人想到的解决方案1、不管(针对上述对比会造成相应的问题)2、删除用户时,判断日志中是否有该用户的操作,如果有则做一些麻烦的操作(比如说日志表中是varchar类型的user_id,可以直接把name存入user_id中,然后再展示的时候如果关联表的时候没有和use原创 2021-10-01 12:01:13 · 1375 阅读 · 0 评论 -
部署到线上项目的后端优化
感觉应该涉及挺多的,今后如果有遇到新的东西就记录一下。Gzip压缩为了减少数据在网络中的传输量,从而减少传输时长,增加用户体验,浏览器大都是支持Gzip压缩技术的,http的请求头 Accept-Encoding:gzip, deflate 就表示这次请求可以接受Gzip压缩后的数据,图片不要进行压缩,因为图片完全可以在项目开发中使用压缩后的图片。压缩会有一定的CPU性能损耗。SpringBoot项目开发(二十一):Gzip压缩...原创 2021-09-16 14:22:22 · 119 阅读 · 0 评论 -
将数据库的数据处理为echarts统计图的日度周度月度年度数据
项目场景:需要满足业务场景为因为前端使用echarts来实现这个统计图,所以需要将数据库的数据处理一下返回给前端。解决方案:1、数据库中使用group by来实现统计2、在代码中对期间没有的数据填充数量为0解决方案:EchartsFormatUtilpublic class echartsFormatUtil { /** * 统一处理echarts返回数据 * @param echartsResults mapper层返回的没有补全日期的结果 *原创 2021-09-13 08:30:13 · 1974 阅读 · 0 评论 -
生成EasyExcelUtils工具类
这个写法目前是管用的,但是会有几个问题package com.operative.base.utils;import com.alibaba.excel.EasyExcel;import org.apache.poi.ss.formula.functions.T;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.net.URLEncoder;import java.ut原创 2021-08-25 21:40:36 · 574 阅读 · 0 评论 -
数据库表设置自增id后怎么在添加之后获取id的值
1、mybatis-plus添加成功后,会自动把id返回给添加时的对象。mybatis-plus插入后自动把id映射到实体,添加之后直接getid就可以用了。2、mybatisMybatis配置useGeneratedKeys=“true” keyProperty=“id”参考博客Mybatis配置useGeneratedKeys=“true” keyProperty="id"的作用在mapper层定义一个int类型的方法即可...原创 2021-08-25 10:51:56 · 926 阅读 · 0 评论 -
mysql数据库一个字段存放数组或者集合数据时如果实现筛选
目前想到的一个方案为循环使用like原创 2021-08-23 18:59:33 · 1141 阅读 · 0 评论 -
调用方法时,方法中的mapper为空,空指针错误
项目场景:提示:这里简述项目相关背景:项目场景:在jwt工具类中写了一个获取当前登录用户信息的方法,但是在调用的时候发现userMapper为空问题描述:提示:这里描述项目中遇到的问题:报错信息:Cannot invoke "com.operative.user.mapper.UserMapper.selectOne(com.baomidou.mybatisplus.core.conditions.Wrapper)" because "this.userMapper" is null 原原创 2021-08-23 18:04:31 · 11264 阅读 · 0 评论 -
使用MyBatis-Plus的XML自定义分页进阶版——通过数据库字符串数组字段嵌套集合
概要遇到的场景是数据库中的一个字段存放了一段id的集合,无法使用join来进行表的链接,所以只能靠java代码来实现了。然后我一开始没弄懂如果要添加嵌套的话,分页应该怎么弄。几天之后,突然灵感来了。当然也有待后续改进。。解决方案1、数据库表结构notice表role表2、pojoNoticePageVO@Datapublic class NoticePageVO { private Integer current; private Integer size;原创 2021-08-23 16:16:07 · 585 阅读 · 0 评论 -
JAVA递归遍历权限表,获取权限树形结构
权限表结构递归调用的代码 private Object test(List<Permission> permissions, List<Permission> allList){//pid为0的权限数组,所有权限数组 List<Object> objList = new ArrayList<>(); for (Permission permission : permissions) {//遍历第一级别的权限原创 2021-08-23 13:04:46 · 871 阅读 · 0 评论 -
springboot使用事务注解不生效的原因
一、使用事务的方法1、启动类添加注解开启事务@EnableTransactionManagementpackage com.operative.main;@MapperScan("com.operative.**.mapper")@ComponentScan(basePackages = {"com.operative.core","com.operative","com.operative.main"})@SpringBootApplication@EnableTransactionMan原创 2021-08-21 22:26:36 · 1164 阅读 · 0 评论 -
使用静态常量和枚举类来定义状态值的对比和区别
暂时觉得两者的区别和对比,有待后续补充1、注解只能用静态常量不能用枚举类2、枚举类可以添加多种类型的数据在一个变量中(emmm,'变量’可能不太准确)静态常量package com.operative.base.constants;public final class AuthorizationConstants { /** * 操作成功 */ public static final String SUCCESS = "200"; /**原创 2021-08-20 17:41:54 · 1109 阅读 · 0 评论 -
使用数据库唯一索引加全局异常处理实现某个值的唯一限制
1、数据库添加唯一索引2、做全局同一异常处理原创 2021-08-16 19:03:11 · 1468 阅读 · 0 评论 -
idea怎么使用debug调试功能
1、首先使用debug调试方式启动springboot项目2、不要停止项目,直接在项目中添加断点3、直接进入页面或者调用接口,则会在断点处停止原创 2021-08-11 16:28:18 · 305 阅读 · 0 评论 -
使用MyBatis-Plus的XML自定义分页,包含mybatis_xml传参问题、找不到xml问题
首先保证正常的分页可以使用,没有缺少配置然后打开官网查看官方文档MyBatis-Plus——XML自定义分页由于之前一直用MyBatis-Plus没怎么写过xml,所以在记录一下开发步骤。1、调整xml位置2、添加路径配置application.ymlmybatis-plus: global-config: type-aliases-package: com.storage.**.entity mapper-locations: classpath*:mybatis/mapper/*原创 2021-08-10 11:31:14 · 1848 阅读 · 0 评论