后端
文章平均质量分 67
Program W
这个作者很懒,什么都没留下…
展开
-
安装Linux安装Oracle(CentOS安装Oracle 19c以及远程Navicat连接时遇到的一些问题)
基本步骤更详细 请看 @你就是唯一づ一、复制rpm文件到/root文件下二、设置兼容性模式三、设置配置文件11.设置字符集12.配置环境变量13.修改PID的配置文件信息如果没有修改ORACLE_SID就跳过此步骤,如果修改了,就修改四、初始化数据库1.对数据库进行初始化五、linux中的一些问题1.sqlplus中的上下左右键乱码不能使用问题2.传输包到Linux,并且进行安装3.进入rlwrap-0.43文件夹,进行安装4.安装成功,使用rlwrap -v进行测试,是否安装成原创 2021-06-18 11:55:42 · 1009 阅读 · 0 评论 -
SpringBoot接口跨域解决方案,放行OPTIONS便于微服务开发调试
跨域是因为浏览器的同源策略限制,是浏览器的一种安全机制,服务端之间是不存在跨域的。调试场景,开发环境只想启动相应的后端模块接口进行调试,但是因为跨域所以需要每次启动。告知服务器实际请求所携带的自定义首部字段。告知服务器实际请求所使用的HTTP方法;字段但不会带相应的值,导致跨域以及报错,在接口请求中我们总会自定义请求头做。,三者有任一不相同即会产生跨域。直连本地,其他连接开发环境接口。的认证过滤器链中需要过滤掉。指的是两个页面具有相同的。符合以下任一情况的就是。所以要处理跨域以及在。...原创 2022-07-19 10:21:47 · 2311 阅读 · 1 评论 -
MySQL自带的加密AES_ENCRYPT()解密AES_DECRYPT()
mysql的AES_ENCRYPT()和AES_DECRYPT()查询解密、模糊查询参考:MySql在使用AES_ENCRYPT或者ENCODE加密时,中文乱码问题(数据库正常,在java代码和页面中变成问号乱码)原创 2022-07-07 16:05:09 · 5119 阅读 · 0 评论 -
微应用部署环境下,子应用无法访问(问题记录),try_files详解
微应用部署问题原创 2022-06-14 16:09:55 · 829 阅读 · 0 评论 -
Docker启动Nacos(单例)、Redis
docker启动naocs带数据源配置参数原创 2022-06-07 13:47:56 · 2388 阅读 · 1 评论 -
CentOS7完全卸载mysql5.7重装8.0
centos7 rpm mysql5.7完全卸载到安装mysql8.0官方下载rpm是否安装成功服务启动参考:Linux(CentOS7)使用 RPM 安装 mysql8.0原创 2022-06-06 14:02:15 · 479 阅读 · 0 评论 -
BUG记录---Expression #3 of...;this is incompatible with sql_mode=only_full_group_by
Expression #3 of...;this is incompatible with sql_mode=only_full_group_by...原创 2022-06-01 10:35:00 · 147 阅读 · 0 评论 -
规则引擎Drools学习与实例
一、概述drools是一款由JBoss组织提供的基于Java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、不用重启服务器就可以在线上环境立即生效。规则引擎的诞生针对复杂的业务规则代码处理,往往存在一下问题:1、硬编码实现业务规则难以维护;2、硬编码实现业务规则难以应对变化;3、业务规则发生变化需要修改代码,重启服务后才能生效;于是规则引擎Drools便诞生了原创 2022-05-06 12:01:56 · 1449 阅读 · 0 评论 -
Mybatis---动态SQL(if、choose、trim、foreach)
一、if标签使用动态 SQL 最常见情景,是根据条件包含 where 子句的一部分。<select id="findActiveBlogLike" resultType="Blog"> <!-- WHERE与if标签之间尽量加一个条件例如del_flag=0或1=1 --> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <!-- test:判断表达式(OGNL) ognl会进行字符串与数字的转换判原创 2022-05-03 20:02:55 · 834 阅读 · 0 评论 -
MQ的学习(RabbitMQ---消息模型)
一、什么是 MQ消息队列(Message Queue,简称 MQ)技术是应用间交换信息的一种技术。消息队列主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前主流的 MQ :Kafka、RabbitMQ、RocketMQ、ActiveMQ选型根据需求(数据量大的选RokectMQ(基于JMS)、Kafka,轻微使用RabbitMQ(基于AMQP)就可以了)二、RabbitMQ消息模型rabbitmq-tutorial原创 2022-04-14 16:58:22 · 2430 阅读 · 0 评论 -
XXL-JOB跑通与使用
一、启动admin先拿到项目源码仓库地址Release Downloadhttps://github.com/xuxueli/xxl-jobDownloadhttp://gitee.com/xuxueli0323/xxl-jobDownload项目结构xxl-job-admin:调度中心xxl-job-core:公共依赖xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造原创 2022-04-14 10:54:12 · 1198 阅读 · 0 评论 -
Java 8 Stream 流式操作
Stream不同于其他集合框架,它也不是某种数据结构,也不会保存数据,但是它负责相关计算,使用起来更像一个高级的迭代器。在之前的迭代器中,我们只能先遍历然后在执行业务操作,而现在只需要指定执行什么操作,Stream 就会隐式的遍历然后做出想要的操作。另外 Stream 和迭代器一样的只能单向处理,如同奔腾长江之水一去而不复返。转载 2022-04-12 09:55:58 · 152 阅读 · 0 评论 -
MVCC【多版本并发控制】详解(乐观锁、悲观锁)---MySQL锁
什么是MVCC全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。以下文章都是围绕InnoDB引擎来讲,因为myIsam不支持事务。同一行数据平时发生读写请求时,会上锁阻塞住。但mvcc用更好的方式去处理读—写请求,做到在发生读—写请求冲突时不用加锁。这个读是指的快照读,而不是当前读,当前读是一种加锁操作,是悲观锁。那它到底是怎么做到读—写不用加锁的,快照读和当前读又是什么鬼,跟着你们的贴心老哥,继续往下看。当前读、快照读都是什么鬼什么是转载 2022-04-07 15:43:04 · 1027 阅读 · 0 评论 -
SpringBoot单体任务调度
一、可变对象把对象a赋值给对象b,更改对象b的属性值,被引用的对象a也随之改变,这就是可变对象。var a = {name: '张三', age: 18}, b = a;b.name = '李四';a.name; // "李四"为啥会这样呢?其他字符串和数值怎么不会变?要搞懂这个问题,我们必须了解下其内部的存储逻辑。JavaScript有7种基本数据类型:number、string、boolean、null、undefined、object 以及 ES6 新增的symbol。除了 ob原创 2022-03-30 13:51:29 · 726 阅读 · 0 评论 -
Spring各注册bean注解对应模式及其生命周期存亡
一、注解模式@Component注解默认实例化的对象是单例,如果想声明成多例对象可以使用@Scope(“prototype”)@Repository默认单例@Service默认单例@Controller默认多例二、Spring中的bean的生命周期singleton(全局的)是随着spring的存亡而存亡prototype 又叫多例模式,用的时候就new一下,用完就没有了。session 存在这一次会话 session 中,session过期后它就没了。request原创 2022-03-30 13:08:19 · 686 阅读 · 0 评论 -
Spring Cron 表达式
1. 简介 Spring提供的轻量级调度框架中,任务的调度通过Trigger接口来实现。Trigger接口的一种实现便是基于CRON表达式的。 但是这里的CRON表达式与Linux系列操作系统中crobjob的表达式不一样,需要特别注意。 在使用注解进行调度的时候,一种写法如下: @Schedule (cron="cron expression")public void doEtlJob(...转载 2022-03-14 18:16:27 · 3269 阅读 · 0 评论 -
芋道 Spring Boot 对象转换 MapStruct 入门
芋道 Spring Boot 对象转换 MapStruct 入门 1. 概述2. 快速入门3. 集成 Lombok4. @Mapping5. IDEA MapStruct 插件666. 彩蛋本文在提供完整代码示例,可见 https://github.com/YunaiV/SpringBoot-Labs 的 lab-55 目录。原创不易,给点个 Star 嘿,一起冲鸭!1. 概述友情提示:MapStruct 和 Spring Boot ...转载 2022-03-14 17:22:52 · 1464 阅读 · 0 评论 -
若依RuoYi-Cloud代码学习一---项目启动
一、环境若依官网文档-环境部署部分JDK >= 1.8 (推荐1.8版本)Mysql >= 5.7.0 (推荐5.7版本)Redis >= 3.0Maven >= 3.0Node >= 12nacos >= 1.1.0 (ruoyi-cloud >= 3.0.0需要下载nacos >= 2.x.x版本)sentinel >= 1.6.0我这用的mysql8开始前准备好nacos、redisnacos启动主要原创 2022-02-14 19:18:16 · 1750 阅读 · 0 评论 -
SpringBoot使用Spring-JDBC,并配置Druid监控记录
一、依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--jdbc启动器--> <dependency>原创 2022-02-07 16:57:50 · 1029 阅读 · 0 评论 -
自定义注解+ProceedingJoinPoint拦截实现接口权限执行
一、概述接口权限执行:当访问当dao层接口时,在接口的方法上放置自定义注解,对接口进行拦截二、ProceedingJoinPointProceedingJoinPoint是什么?可以看出其继承于JoinPoint,及其关键方法proceed()【这个方法的用途:继续下一个建议或目标方法调用(就是用于启动目标方法执行的,不调用该方法的话就走自己的逻辑)】ProceedingJoinPoint和JointPoint的区别:JointPoint是aop的,对象则包含了和切入相关的很原创 2022-01-27 14:24:24 · 1490 阅读 · 0 评论 -
Mybatis Generator代码生成器成功记录
一、依赖<dependencies><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency> <dependency原创 2022-01-24 13:36:42 · 114 阅读 · 0 评论 -
Mybatis---sql、script标签
一、sql标签<sql>用来定义可重用的 SQL 代码片段<sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password </sql>sql原创 2022-01-24 12:55:31 · 4167 阅读 · 0 评论 -
Mybatis---insert, update 和 delete标签属性学习,以及一些问题处理
一、insert, update 和 delete增删改,标签不多说二、属性原创 2022-01-21 13:41:16 · 1563 阅读 · 0 评论 -
SpringBoot用@Validation与@Valid校验数据
一、@Validated和@Valid的区别@Valid属于标准JSR-303规范的标记型注解,@Validated则是Spring的注解,是对JSR-303的补充@Valid可以用在属性级别约束,用来表示级联校验。主要区别 @Validated@Valid分组提供分组功能,可在入参验证时,根据不同的分组采用不同的验证机制。无分组功能可注解位置 可以用在类型、方法和方法参数上。但是不能用在成员属性上可以用在方法、构原创 2022-01-14 13:02:13 · 994 阅读 · 0 评论 -
用了这么久的泛型,终于知道它到底是什么了
一个朋友学会Java泛型后直接薪资翻倍!1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,转载 2022-01-06 17:47:27 · 115 阅读 · 1 评论 -
简单的返回信息结果封装+统一异常处理
一、返回信息结果封装前后端分离的基本接口返回封装,code默认200,异常就设置SC_INTERNAL_SERVER_ERROR即500(因为是前端整权限)最后判断结果judgeResult,写操作都是返回数字都懂public class HttpResult { private int code = 200; private String msg; private Object data; //getter、setter省略 public stati原创 2022-01-04 15:24:08 · 757 阅读 · 1 评论 -
WebSocket的学习
文章目录一、WebSocket用来干什么的?特点:二、WebSocket的属性三、WebSocket的方法三、WebSocket的事件四、Vue中使用WebSocket的Demo(只有前端发送)五、后端Demo......一、WebSocket用来干什么的?就简单而言,WebSocket就做一些原来Http无法做的事,以前Http必须请求才有回应,现在WebSocket变成了连接后,服务器就可以主动了,不再被动~特点:(1)和 HTTP 一样属于应用层协议,也是建立在 TCP 协议之上,服务器端的原创 2021-08-04 16:23:18 · 289 阅读 · 0 评论 -
可配置表单+候选人拾取配置+可配置任务办理---工作流
一、表单可配置一个简单的可配置表单的思路前端部分bpmn将流程编号改成可选择的编号(即多个流预先约定好,然后让用户进行选择)二、流程启动,候选人拾取,任务办理之前说过候选人前端部分多选的实现。现在到后端activiti,流程启动,根据业务id(自己的业务数据来看)生成任务之前的审批流流转工作流(xml中定义代理人${assignee},每次通过传入一个用户来定义下一个待办节点的处理人即给assignee定义)工作流跑通记录DEBUG,审批流流转工作流的流程跑通现在不设置代理原创 2021-12-30 11:00:23 · 786 阅读 · 1 评论 -
工作流跑通记录DEBUG,审批流流转工作流的流程跑通
一、审批流流转工作流提前将下一个节点状态传进来,在工作流到达下一个节点时,改变状态。这里拆分成了小流程,即最简单的开始–>审批人–>结束流程一、DEBUG处理判断根据业务ID获取代办任务(判断当前流程实例【任务】是否存在)拼接流程实例名流程实例【任务】绑定流程ID开始任务startTask,建造流程实例回到审批流流转工作流,完成任务【一个简单的工作流就这么跑通了】最简单的流程记录完毕\(^o^)/~...原创 2021-12-15 17:38:58 · 312 阅读 · 0 评论 -
Redis数据类型---五大常用类型操作【便于查询】
一、前言在看数据类型前,可以看看官方对keys的说明Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值。关于key的几条规则:太长的键值不是个好主意,例如1024字节的键值就不是个好主意,不仅因为消耗内存,而且在数据中查找这类键值的计算成本很高。太短的键值通常也不是好主意,如果你要用”u:1000:pwd”来代替”user:1000:password”,这没有什么问题,但后者更原创 2021-12-10 15:46:58 · 365 阅读 · 0 评论 -
基于SpringSecurity的UsernamePasswordAuthenticationFilter实现默认/login接口(不写controller中的/login)登录
文章目录一、思路二、UsernamePasswordAuthenticationFilter三、AbstractAuthenticationProcessingFilter最后一、思路登录,首先有失败与成功两种情况我们需要一个登录过滤器,进行两种情况的返回所以,我们得知道SpringSecurity监听/login是怎样的。二、UsernamePasswordAuthenticationFilter看到这个过滤器,会先过滤/login接口,并获取两个主要的参数这个过滤器的方法,有原创 2021-12-03 14:19:20 · 1499 阅读 · 0 评论 -
处理项目运行正常,但mapper.xml中resultmap中type无法导航到实体(+property爆红cannot find declaration to go to)
一、说明查了网上很多:发现很多都是1、什么要import项目而不是直接打开2、或者给项目加Sources标记3、要么就说mybatisx(插件中的)和lombok冲突,关掉其中一个第一个导入第二个源标记mybatisx插件二、我的解决1、先看看问题初始并不影响项目运行,但是无法通过type直接导航到实体类(有的说是开mybatis: type-aliases-package:,事实上,项目跑通了,肯定设置了)。最终解决因为我最初用的插件是Free My原创 2021-12-03 13:51:24 · 6376 阅读 · 6 评论 -
若依RuoYi-Vue代码学习一---若依如何基于OncePerRequestFilter【Spring Security的过滤器】验证的token与用户信息
文章目录一、通过token获取用户信息二、验证token过期一、通过token获取用户信息代码位置:com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter直接上代码:/** * token过滤器 验证token有效性 * 每个请求过滤器一次OncePerRequestFilter * @author ruoyi */@Componentpublic class JwtAuthenticationTokenFil原创 2021-11-25 15:17:55 · 5312 阅读 · 2 评论 -
若依RuoYi-Vue代码学习一---【DEBUG】登录验证时,Spring Security怎么帮我们查的用户信息
一、登录验证时,Spring Security怎么帮我们查的用户信息之前说个SysLoginService有登录验证的方法/** * 登录验证 * * @param username 用户名 * @param password 密码 * @param code 验证码 * @param uuid 唯一标识 * @return 结果 */ public String login(String username,原创 2021-11-23 16:13:29 · 1550 阅读 · 0 评论 -
《看不懂你打我系列》之 —— 极简mybatis缓存【看查sql执行流程源码】
mybatis版本:3.4.6 题外话 先说点题外话,作为技术工作者,学习框架或技术,我觉得有3个方面需要去思考。 是什么? 这个东西是什么?要怎么使用?在什么场景下需要使用? 为什么? 为什么有这个东西,它能解决什么问题? 怎么做到的? 框架或技术,就是工具。是工具,就有不好使的时候。工具不好使了,怎么办呢? 修! 不懂原理的话怎么修?所以,要至少了解它的一些基本原理与思路,了解它是如何起作用的,才能够游刃有余,玩弄它于股掌 昨天花了一天时间温习m...转载 2021-11-23 14:41:55 · 93 阅读 · 0 评论 -
若依RuoYi-Vue代码学习一---登录实现(验证码校验、token生成,token过滤【验证】)
文章目录一、验证码生成功能二、登录(校验验证码、token生成)三、【认证】token过滤一、验证码生成功能成果:可以看出这个验证码主要是:这个图片的展示代码位置com.ruoyi.web.controller.common.CaptchaController@RestControllerpublic class CaptchaController{ @Resource(name = "captchaProducer") private Producer ca原创 2021-11-22 18:05:09 · 7508 阅读 · 2 评论 -
若依RuoYi-Vue代码学习一---通用分页处理
文章目录一、先运行看看接口到sql二、来看看若依怎么处理的分页三、最后回到接口,及其参数返回一、先运行看看接口到sql随便找个表格看看可以看到传入了,分页关键属性看看debug的日志打印的sql[debug,137] - ==> Preparing: select dict_id, dict_name, dict_type, status, create_by, create_time, remark from sys_dict_type LIMIT ?[debug,137]原创 2021-11-18 14:42:05 · 3921 阅读 · 0 评论 -
若依RuoYi-Vue代码学习一---注解与切面
文章目录一、注解(日志方面)二、面向切面编程三、项目地址一、注解(日志方面)在一个项目中日志还是很有必要的,所以日志的写法,所以这里用操作日志的记录保存来解读。想更了解注解可以看看Java-Java5.0注解解读这个注解用法,即给方法上注解后,再给上参数,然后通过切面编程获取注解上的参数等,进行其他相关处理。注解的使用:@Log(title = "操作日志", businessType = BusinessType.DELETE) @PreAuthorize("@ss.hasPe原创 2021-11-16 09:54:32 · 2853 阅读 · 0 评论 -
RabbitMQ安装成功记录
一、安装Erlang(傻瓜式安装)环境变量还是要配的PATH中添加=====%ERLANG_HOME%\bin判断是否成功cmd:命令erl二、RabbitMQ安装(需要和Erlang版本对应)版本对应(我试了网上的otp_win64_20.2.exe的erlang和rabbitmq-server-3.7.4.exe)exe傻瓜式安装需要注意的是安装目录不要有【空格和中文】(默认的目录有Rabbit Server也改掉)一样要配置环境变量RABBITMQ_SERVER原创 2021-11-03 15:10:28 · 1997 阅读 · 0 评论 -
JVM系列---内存结构(运行时数据区)
文章目录一、内存结构(运行时数据区)二、程序计数器(PC寄存器)三、虚拟机栈四、本地方法栈五、堆六、方法区一、内存结构(运行时数据区)这里引用尚硅谷的中英文的图(运行时数据区)二、程序计数器(PC寄存器)概念:JVM中的程序计数寄存器( Program Counter Register) 中,Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。 CPU只有把数据装载到寄存器才能够运行。理解:运行时数据区的后三者(虚拟机栈、PC寄存器、本地方法栈)是线程私有的原创 2021-10-24 12:36:30 · 1458 阅读 · 0 评论