- 博客(72)
- 资源 (6)
- 收藏
- 关注
原创 【SpringBoot】【JWT】使用JWT的claims()方法存入Integer类型数据自动转为Double类型
将Integer转为String后存入JWT令牌,不会被自动转为其他类型,取出后转为Integer。
2025-02-24 23:04:08
244
原创 【SpringBoot】【JWT】0.12.6版本(2025最新)的JWT令牌生成和校验
0.12.6版本(2025最新)的JWT令牌生成和校验。
2025-02-24 15:18:20
311
1
原创 【MyBatis】集合的嵌套结果映射(ResultMap一对多映射配置collection)结果查不到或返回结果与数据查询不符问题
遇到的问题1、查询结果只有一条。2、domain层相同的属性名值也相同,没有返回正确的值。
2025-02-17 00:35:00
335
原创 【SpringBoot3.x+】slf4j-log4j12依赖引入打印日志报错的两种解决方法
最开始引入了1.7.5版本的slf4j-log4j依赖包,但是控制台不报错也不显示日志。解决方法:引入slf4j-log4j12依赖的早期1.7.x版本,以及slf4j-api依赖
2025-02-13 18:09:08
811
原创 【SpringBoot3.x+】热部署在pom.xml的配置更新等解决方案(plugin标签内报红问题解决)
在SpringBoot3.x版本在Maven进行热部署时会有fork标签报红问题。学会查询官网文档查看版本更新的新内容。
2025-02-10 01:03:06
397
原创 【Java】JVM内存相关笔记
由于Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)都只会执行一条线程中的指令。在Java中,控制内存的权力交给了Java虚拟机,所以我们无法直接在程序中获取创建的变量的内存地址,因此在学习过程中我们可以通过变量的哈希值来显式的展示变量在Java虚拟机中的位置,Java根据哈希值最终分配到计算机的内存中。Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。
2025-01-07 23:31:14
555
原创 【c/c++】指针例图基础详解
在计算机内存中,变量的内存基本上都由一段连续的内存空间组成,所以变量的地址指开辟空间的首地址。在计算机内存中,肯定不会有图例的箭头,所以*p就代表指向的内容。
2023-12-29 23:56:22
748
原创 gitlab部署及整合Jenkins持续构建(四)sonarqube9.9安装和使用(一步一坑)
安装postgresql13.0+sonarqube9.9搭建代码规范审查工具
2023-04-26 18:44:44
3420
1
原创 gitlab部署及整合Jenkins持续构建(三)nexus私服的安装及实战、linux安装mysql
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。hosted:宿主仓库,内部项目、付费jar releases 发布内部release版本的仓库 snapshots 发布内部snapshots版本的仓库 third 自建第三方jar。group:仓库组,通常包含了多个代理仓库和宿主仓库,在项目中只要引入仓库组就可以下载到代理仓库和宿主仓库中的包。proxy:代理仓库,用于代理远程仓库。,产生密码[kkgTgwx-+4st]
2023-04-05 13:52:37
1289
原创 gitlab部署及整合Jenkins持续构建(二)HTTP/SSH管理远程仓库gitlab、配置gitlab邮件服务
gitlab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。:修改external_url为gitlab机子的ip+要使用的端口 ,如:http://10.24.200.10:8888。基础功能开源,可自行搭建可以进行权限控制,使得代码对部分人可见 gitlab使用方便,非常适合企业内部使用。文件,复制内容,在gitlab.com的网站上到ssh密钥管理页面,内容粘贴刚才复制的内容,点击。有合并请求时,邮件通知 账号注册时,邮件验证修改密码时,通过邮件修改。
2023-03-31 15:03:04
1134
2
原创 gitlab部署及整合Jenkins持续构建(一)版本控制工具Git基本命令、管理远程仓库GitHub
代码托管中心是网络服务器的远程代码仓库,也称为远程仓库GitHub(外网访问)GitLab(局域网访问)Gitee(国内远程仓库) 码云记录和跟踪项目中各文件内容的改动变化保存项目的版本历史,以及改动原因,从而让用户能够查看各个历史版本版本控制系统是帮助开发人员进行协作开发的利器。
2023-03-28 21:36:30
1163
1
原创 基于SpringBoot+Vue的项目在阿里云服务器生产环境部署指南
a记录:用户可以在此设置域名并指向到自己的目标主机地址上,从而实现通过域名找到服务器(也叫ip指向域名配置)cname:别名指向,可以为一个主机设置别名。比如设置open1024.com,用来指向一个主机 xdclass.net 那么以后就可以用open1024.com来代替访问 xdclass.net 了。
2023-03-24 23:33:34
1962
原创 掌握CentOS7环境下的Docker使用(八)阿里云镜像仓库实战、harbor仓库搭建与实战、本地镜像容器的载入载出
通俗来讲,镜像仓库就是存放着很多镜像的仓库,镜像仓库起到备份作用,方便其他机器下载使用。
2023-03-22 15:28:05
2541
原创 掌握CentOS7环境下的Docker使用(七)Compose操作容器快速搭建个人博客
是一个用于定义和运行多容器 Docker的插件工具,可以帮助我们可以轻松、高效的管理容器。
2023-03-21 19:48:39
772
原创 掌握CentOS7环境下的Docker使用(六)Link实现单向通信、brige网桥实现双向通信、特权模式、Volume数据共享
Volume数据共享实际上就是文件挂载,文件挂载一般用于把容器中的日志文件挂载到宿主机上,这样就不必进入容器才能查看日志,或者把容器中部署的mysql中的数据挂载到宿主机上,这样如果docker宕机无法进入,也不会丢失数据。因为多个tomcat容器可以同时使用link通信mysql容器,如果这个mysql容器出现问题无法使用,换了新的MySQL容器那么ip就会改变,连带会影响所有的通信这个mysql的tomcat容器。但如果使用了–name 容器名运行的容器,则可以直接使用。
2023-03-17 19:05:21
1137
原创 掌握CentOS7环境下的Docker使用(五)Docker容器的网络模式
匹配到的所有任何ip地址(0.0.0.0)都会发往172.17.0.1,退出容器后可以看见docker0的虚拟网桥就是172.17.0.1。host 模式:该模式下容器是不会拥有自己的ip地址,而是使用宿主机的ip地址和端口。时,就会连接docker0这个虚拟网桥,通过NAT的转换,连接宿主机的网卡去连接外网。注意:如果容器不以host模式启动运行,则外部是无法访问到的。进入一个centos:7镜像的docker容器中,使用。,并选择一个和宿主机不同的ip地址和子网分配给网桥。none模式:关闭模式。
2023-03-16 20:55:20
1478
原创 掌握CentOS7环境下的Docker使用(三)构建nginx镜像、构建redis镜像
注意:因为安装过程中不会自动产生一个存放配置文件的路径,也没有配置文件,但是启动redis需要配置文件,所以我们要手动创建目录并拷贝配置文件过去。注意:使用 yum下载gcc最高只能下载到4.8版本,如果使用redis6.0以后的稳定版本则正常安装会报错,建议使用6.0以前的版本。注意:nginx_install.sh(shell脚本要和dockerfile放到同一个目录里)注意:使用ip连接容器redis端口要使用6379,因为是以ip地址方式远程连接,不需要映射。:将nginx安装到的目录。
2023-03-15 14:09:07
813
原创 掌握CentOS7环境下的Docker使用(二)创建自定义镜像、构建java环境
在我们创建一个容器的时候,使用了基础镜像,但是在工作等使用中基础镜像是不能满足需要的,而且在容器中安装了jdk、mysql等等之后一旦删除掉了容器,容器里面的配置也被删掉了。这样我们可以把一个已经配置好了的容器打包成镜像,想用的时候直接使用即可。基于Docker Commit制作镜像基于dockerfile制作镜像,Dockerfile方式为主流的制作镜像方式对容器的修改以及保存退出容器后-a:标注作者-m:说明注释。
2023-03-14 18:29:30
1401
原创 Linux基础到进阶(二)用户管理与组管理、文件属性与权限操作、文件归档与解压缩
文件归档也称之为打包,指的是一个文件或者多个文件或者目录的一个集合,这个集合储存在一个文件中。归档文件是没有进行压缩的,所以占用的空间是所有文件或者目录的总和。:权限有一定的限制,可以登录系统。一般可以执行/usr/local/bin或者/bin或者/usr/bin或者自己家目录的命令。i节点可以理解文件id,一个i节点号可以对应多个文件,一个文件只能对应一个i节点号。i节点与源文件一模一样,源文件删除,硬链接还可以继续使用。:不能压缩目录,只能压缩文件,压缩速度最快,但是压缩比例比较低,扩展名。
2023-03-13 19:34:43
482
原创 Linux基础到进阶(一)Linux基础命令、输入输出错误重定向、目录分类与作用、vi编辑器
前面的命令执行成功的话,后面的才可以执行成功;前面的命令执行失败的话,后面的不可以执行。就是把要输出的信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)前面的命令执行成功的话,后面的不可以执行;前面的命令执行失败的话,后面的可以执行。:根目录,一般根目录下只存放目录,不要存放文件,也不要修改,或者删除目录下的内容。:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。:存放经常修改的数据,比如程序运行的日志文件。功能说明:当前在本地系统上的所有用户的信息。
2023-03-13 17:52:15
513
1
原创 掌握CentOS7环境下的Docker使用(一)CentOS7安装Docker、容器构建、文件复制与挂载
docker run -itd -v 宿主机路径:容器路径 镜像ID。docker cp 宿主机本地路径 容器名字/ID:容器路径。docker cp 容器名字/ID:容器路径 宿主机本地路径。-i :表示以交互模式运行容器(让容器的标准输入保持打开)宿主机文件夹挂载到容器里时,修改文件内容,实时同步到容器中。安装条件:docker官方要求至少3.8以上,解决方法:先关闭防火墙,然后按照提示执行。-d:表示后台运行容器,并返回容器ID。-t:为容器重新分配一个伪输入终端。–name:为容器指定名称。
2023-03-09 16:00:19
1108
原创 掌握Swagger3自动化生成接口文档完成后端提效
开放API规范(OAS)是⼀种无需编写实际API代码就可以记录API的方法。这是⼀种开放源代码格式,可以用来描述API。基于OpenAPI 规范(OpenAPI Specification,OAS)构建的开源接口文档自动生成工具,可以让开发人员快速设计、构建、记录以及使用Rest API。–描述这种⼀般用在post创建的时候,使用对象提交这样的场景。用于方法,字段:表示对model属性的说明或者数据操作更改。用于类表示对类进行说明,用于参数用实体类接收,⽤在方法上,描述接口方法。用在入参上面,描述参数。
2023-03-07 15:14:18
2112
1
原创 掌握MybatisPlus提升开发效率(五)Mybatis-plus-generator代码自动化生成
AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极⼤的提升了开发效率。高内聚-低解耦肯定是软件设计思想必须要遵守的原则,所以业务代码可以适当使用MyBatisPlus好的功能。底层是模板引擎技术,可以自定义生成的java类模板。偏业务型项目、管理后端项目等推荐使用,和jpa类似。好用的:通用CRUD、自动生成工具、分页查询。
2023-03-04 22:25:14
652
原创 掌握MybatisPlus提升开发效率(四)全局配置文件、乐观锁、逻辑删除
MybatisPlus自定义xml的sql脚本与Mybatis自定义xml是sql脚本没有区别;全局配置文件中config-location和configuration不能同时出现;`select *` 和 `select` 指定字段的区别;乐观锁就是每次取数据的时候都认为别人不会修改,更新的时候判断别⼈是否已经修改了数据,通过版本来判断,如果数据被修改了就拒绝更新;MybatisPlus逻辑删除简单来说,就是用户删除了订单,只不过是更新了标记,不会真正的物理删除。
2023-03-01 13:08:08
767
原创 掌握MybatisPlus提升开发效率(三)查询封装类QueryWrapper、常用注解、分页
可以封装sql对象,包括where条件,order by排序,select哪些字段等等可以封装多数查询条件
2023-02-24 15:59:06
1431
原创 掌握MybatisPlus提升开发效率(二)MybaitsPlus核心类BaseMapper、增删改查实战
MybaitsPlus封装了一些CRUD的接口,可以在service层进行调用封装的方法,只需要mapper接口继承相关类即可,不需要写mapper接口写方法、也不需要写xml配置文件。QueryWrapper:查询包装类,可以封装多数查询条件,泛型指定返回的实体类。:将数组转化成List集合,用此方法得到的List的长度是不可改变的。其中,在service层使用封装的CRUD方法用到的。BaseMapper:封装了CRUD的方法。类,是MybaitsPlus核心类。类,mapper层继承的。
2023-02-24 14:23:28
1668
原创 掌握MybatisPlus提升开发效率(一)SpringBoot2.x整合MybatisPlus+Lombok实现第一个接口
正常编写数据库表的crud接口流程:编写实体类->编写Controller类->编写Service接口和类->编写DAO类->编写XML文件。而MybatisPlus已经封装好了⼀些crud方法,不需要再写xml了,直接调用这些方法就行,类似JPA但优于JPA。
2023-02-24 13:13:06
440
原创 掌握MySQL分库分表(七)广播表、绑定表实战,水平分库+分表实现及之后的查询和删除操作
指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全⼀致适用于数据量不⼤且需要与海量数据的表进行关联查询的场景,例如:字典表、配置表需求:在任意一个库中插入一条数据,另一个库中的相同表也插入这条数据。
2023-02-22 13:43:09
2824
2
原创 掌握MySQL分库分表(六)解决主键重复问题--Snowflake雪花算法
表示的值 -9223372036854775808(-2的63次方)~9223372036854775807(2的63次⽅-1)生成的唯⼀值⽤于数据库主键,不能是负数,所以值为0~9223372036854775807(2的63次方-1)分布式情况下,需要保证各个系统时间⼀致,如果服务器的时钟回拨,就会导致⽣成的 id 重复。雪花算法生成的数字,long类,所以是:8个byte,64bit。bit(位):电脑中存储的最小单位,可以存储⼆进制中的0或1。16位平台 int 2个字节16位。
2023-02-21 19:23:11
4528
原创 掌握MySQL分库分表(五)SpringBoot2+MybatisPlus整合Sharding-Jdbc水平分表实现
具体到每个数据节点的SQL,经过一层路由,执行真实sql操作,将数据按照分片策略插入到相应表中。没具体到哪个数据节点,先执行一条逻辑语句,把数据插入到逻辑表。数据库1:xdclass_shop_order_0。数据库2:xdclass_shop_order_1。表1:product_order_0。表2:product_order_1。表1:product_order_0。表2:product_order_1。分库分表带来的六个问题之一。
2023-02-21 18:18:03
1604
原创 掌握MySQL分库分表(四)分库分表中间件Sharding-Jdbc,真实表、逻辑表、绑定表、广播表,常见分片策略
是⼀套开源的分布式数据库解决⽅案组成的生态圈,定位为Database Plus;它由JDBCProxy和Sidecar这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。
2023-02-21 13:52:21
743
原创 掌握MySQL分库分表(二)Mysql数据库垂直分库分表、水平分库分表
水平分表:同个数据库内,把⼀个表的数据按照⼀定规则拆分到多个表中,对数据进⾏拆分,不影响表结构。好处: 1. 避免IO时锁表的次数,分离热点字段和⾮热点字段,避免⼤字段IO导致性能下降。水平分库:把同个表的数据按照⼀定规则分到不同的数据库中,数据库在不同的服务器上。单个表的数据量少了,业务SQL执行效率⾼,降低了系统的IO和CPU压力。原则: 1. 选择合适的分片键和分片策略,和业务场景配合。垂直分表: 将⼀个表字段拆分多个表,每个表存储部分字段。原则:1. 选择合适的分片键和分片策略,和业务场景配合。
2023-02-20 18:11:18
1885
3
原创 掌握MySQL分库分表(一)数据库性能优化思路、分库分表优缺点
不能⼀上来就说分库分表。在数据量及访问压力不是特别大的情况,首先考虑缓存、读写分离、索引技术等方案,如果数据量极⼤,且业务持续增长快,再考虑分库分表方案
2023-02-20 15:23:03
1595
原创 Vue2快速入门(三)前端项目架构搭建、Axios、Vue-Router
基于promise用于浏览器和node.js的http客户端:支持浏览器和node.js、⽀持Promise API、支持拦截请求和响应、支持转换请求和响应数据、JSON数据的自动转换、客户端⽀持以防止XSRF文档地址vue-router是 Vue.js 官方的路由管理器,它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌,可详见官方文档。
2023-02-16 20:17:11
877
原创 Vue2快速入门(二)Cube-UI、Vuex、Axios、Vue-router概述和基础ES6知识点
基于 Vue.js 实现的精致移动端组件库,地址在Vue项目开发时使用的状态管理工具state:存储数据mutations:同步修改存储数据actions: 异步修改存储数据getters:获取存储数据前进行修改是⼀个基于Promise 用于浏览器和 node.js 的 HTTP 客户端,从浏览器中创建 XMLHttpRequest,也可以 node.js 发出 http 请求,支持 Promise API,支持拦截请求和响应,并转换数据Vue官方的路由管理器,实现页面前端路由:Hash模式(默认
2023-02-16 14:25:59
308
原创 Vue2快速入门(一)项目环境搭建、vue基础语法
Node.js就是运行在服务端的JavaScriptNode.js的包管理工具,可以下载使用公共仓库的包,类似maven包安装分为本地安装(local)、全局安装(global)两种官网下载。
2023-02-16 14:09:14
1306
编译原理实验二First集的生成
2022-06-17
基于单片机的实训项目文件(篮球比赛计时计分器)
2022-05-28
单片机实训项目文件(出租车计价器设计)
2022-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人