自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1061)
  • 论坛 (1)
  • 收藏
  • 关注

转载 springboot+shiro+jwt+redis+cache实现无状态token登录(完美好文章!!)

转载自:https://blog.csdn.net/stilll123456/article/details/88370355原文原博主已重新整理到如下个人博客:SpringBoot整合shiro+jwt+redis - 无状态token登录(一)总览篇SpringBoot整合shiro+jwt+redis - 无状态token登录(二)授权篇SpringBoot整合shiro+jwt+redis - 无状态token登录(三)鉴权篇~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2021-04-19 11:23:12 306

转载 SpringBoot Security 实例DEMO(好框架就用这个了!!)

原文格式清晰,转载自:https://www.cnblogs.com/cjsblog/p/9152455.html如图,是一种通用的用户权限模型。一般情况下会有5张表,分别是:用户表,角色表,权限表,用户角色关系表,角色权限对应表。一般,资源分配时是基于角色的(即,资源访问权限赋给角色,用户通过角色进而拥有权限);而访问资源的时候是基于资源权限去进行授权判断的。Spring ...

2019-08-05 21:38:11 439

转载 Mysql多表查询,获取部门最高工资的sql语句方案

PS:之前写过一篇文章,是另一种方法(关联子查询),感兴趣的可以去看一下:sql关于group by和max函数一起使用的坑(同理,求部门最高工资)_HD243608836的博客-CSDN博客~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~建表的SQL的语句Create table If Not Exists Employee (Id int, Name varchar(255), Salary

2021-10-25 16:40:15 5

转载 SQL条件放在on、where、having的区别和关系(简单明了)

在写SQL语句的时候,我们经常会用到各种表连接(left join, right join, inner join, full join),还有各种分组聚合函数(sum, min, max, avg, count),那么我们在写SQL的时候,对于不同的过滤条件具体是应该放在连接操作中的 ON 后面,还是分组操作的 having 后面,还是 where条件中呢。在看了很多前辈的知识帖子之后,总结出的三种条件关键字的执行顺序如下:简单的来讲,就是:on > where > 聚合函数

2021-10-25 15:52:57 3

转载 SQL中各种JOIN操作后接ON和WHERE关键字的区别(清晰明了)

0.先说结论1. LEFT JOIN(以及 RIGHT JOIN、FULL JOIN)的特殊性,不管 ON 条件是否为真,数据库都会返回左侧(或右侧、左右两侧)表中的全部记录。2.INNER JOIN 没这样的特殊性,所以过滤条件放在 ON 中或 WHERE 中,其返回的结果是一样的。本文主要介绍 SQL(Structured Query Language)中 JOIN 操作后接 ON 和 WHERE 关键字的区别。说明:本文的用法示例是面向 MySQL 数据库的。1 概述当我们.

2021-10-25 15:42:09 3

转载 各省简称译成英文

安徽,皖:Anhui,简称AH北京,京:Beijing,简称BJ福建,闽:Fujian,简称FJ甘肃,甘:Gansu,简称GS广东,粤:Guangdong,简称GD广西,桂:Guangxi,简称GX贵州,黔:Guizhou,简称GZ海南,豫:Hainan,简称HI河北,冀:Hebei,简称HE河南,豫:Henan,简称HA黑龙江,黑:Heilongjiang,简称HL湖北,鄂:Hubei,简称HB湖南,湘:Hunan,简称BN吉林,吉:Jilin,简称JL

2021-10-25 15:05:38 2

转载 mysql查询replace用法详解

一、基本语法REPLACE ( string_expression , string_pattern , string_replacement )参数string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 ('')。string_replacement 替换字符串。

2021-10-20 18:31:16 6

转载 mysql语句insert into结合select实现数据插入

简单粗暴,直接上代码insert into 表名(列名,列名,列名...) //接下来直接写select语句即可,不需要写values() select 列名,列名,列名... from 表名 where 查询条件若查询结果为多条记录,则自动进行批量插入 可以一个表自己insert给自己注意:insert的列名与select的列名要一致...

2021-10-20 17:42:35 18

转载 Python 项目结构

可能是因为有 Java 项目的开发习惯,很多时候都希望能够有一个标准或者通用点的 Python 项目结构。这样的好处是所有你的项目都会从这个结构开始,你的思路会更加清晰。但是找来找去,Python 并不是和 java 一样有 lib ,有构建等的强依赖。但是我们还是找的了一篇文章:https://docs.python-guide.org/writing/structure/如你希望查看中文版的,你可以单击下面的链接:https://pythonguidecn.readthedocs.

2021-10-14 15:44:40 11

转载 Python规范开发——结构化您的工程

原文格式更清晰:结构化您的工程 — The Hitchhiker's Guide to Python~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~我们对于“结构化”的定义是您关注于怎样使您的项目最好地满足它的对象性,我们 需要去考虑如何更好地利用Python的特性来创造简洁、高效的代码。在实践层面, “结构化”意味着通过编写简洁的代码,并且正如文件系统中文件和目录的组织一样, 代码应该使逻辑.

2021-10-14 15:42:53 18

转载 Python使用virtualenv配置与删除虚拟环境

有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器。同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11。再加上pip工具管理器的版本混乱问题。这就使得很多人在Python的环境管理上产生极大的混乱。通常每个项目,甚至项目不同阶段的版本,需要不同的Python解释器和依赖库。为了清晰明了,安全可靠的管理这些环境,需要为每个项目或每个应用各自建立一套“独立、隔离”的Python运行环境。virtualenv就是用来为每一个项目创.

2021-10-13 17:14:38 35

转载 Python 虚拟环境 看这一篇就够了

Python 之所以强大,除了语言本身的特性外,更重要的是拥有无所不及的第三方库。强大的软件库,让开发者将精力集中在业务上,而避免重复造轮子的浪费。但众多的软件库,形成了复杂的依赖关系,加上 Python2 和 Python3 旷日持久之争,对采用 Python 开发的项目造成了不少困扰,所以 Python 建议,通过虚拟环境工具为项目创建纯净的依赖环境,今天我们就来了解下 Python 虚拟环境一些概念Python 虚拟环境,涉及到很多概念和工具,会对使用造成困扰和障碍,所以我们先了解一些概念和与

2021-10-13 13:54:57 22

转载 linux中source与点“.”命令用法详解

source命令用法 1 source FileName source命令作用在当前bash环境下读取并执行FileName中的命令。*注:该命令通常用命令“.”来替代。使用范例: 1 2 source filename . filename#(中间有空格) source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来..

2021-10-13 13:33:34 12

转载 java 按日期范围统计数据并填补缺失日期数据

1. 情景展示  如上图所示,按日期进行数据统计,我们知道,数据的来源肯定是数据库,一旦指定时间段,必然存在日期空缺的情况(也就是当天没有产生数据)  除了使用 SQL 填补空缺日期记录外,有时我们不得不在 java 中做处理,填补空缺日期,并造当天的数据(最好还是使用 SQL,实在实现不了再用 java)  这种情况也很常见,今天我们一起来看下,如何通过 java 填补空缺的数据,并返回给前端?2. 解决方案  不用在意语法问题,关键看思路,难点在于从返回的数据中如何确定缺.

2021-10-12 15:26:06 22

转载 Elasticsearch入门,这一篇就够了

实时搜索引擎ElasticsearchElasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。Elasticsearch简介Elasticsearch是什么Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Luc.

2021-10-11 17:07:44 23

转载 CascadeType.MERGE报错解决:Multiple representations of the same entity are being merged

一、问题我有三个实体有很多关系:角色实体:@Entitypublic class Role { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer roleID; private String roleName; private String description; @ManyToMany(cascade = {CascadeType.MERGE,

2021-10-08 20:15:38 8

转载 Ldap admin连接ad域报错处理

Ldap admin连接ad域报错处理1、事件描述因虚拟化环境中需要连接AD获取相关用户信息,但是频繁登录虚拟机,比较麻烦,遂找到Ldap admin连接工具,但是在连接ad时报错:1)测试ldap所在主机可以ping通AD的IP地址2)telnet测试AD的389端口,验证端口已开放3)本地客户端主机防火墙确认已经关闭附LDAP admin下载地址:LDAP Admin download | SourceForge.net下图为LDAP admin连接ad时的报错"LDAP er

2021-10-08 15:57:30 13

转载 Maven的optional关键字透彻图解

写在前面本来想写一篇「如何自定义Spring Boot Starter」,但是为了更好理解 Starter 的一些设计理念和其中的关键点,所以提前将一些细节内容单独提取出来讲解说明在 Maven pom.xml 中,你经常会看到依赖项中有类似下面的代码:<dependency> <groupId>sample.ProjectA</groupId> <artifactId>Project-A</artifactId> &lt

2021-09-06 17:02:23 21

转载 Java设计模式——单例模式--饿汉式、懒汉式

什么是单例模式单例模式是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例。实现单例模式的思路外界不能造对象 --把无参构造方法私有 类本身要造一个 --调用构造方法即可 通过公共接口的方式对外提供--通过public修饰 --又由于无参构造私有(导致不能new出该对象),所以必须要用static修饰符 --为了保证静态方法只能访问静态成员,所以这个对象也要用static修饰 如果这样... static Student s = new Stude...

2021-09-05 15:36:49 36

转载 Spring Boot中使用LDAP来统一管理用户信息

很多时候,我们在构建系统的时候都会自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个系统维护自己的用户信息,那么此时用户信息的同步就会变的比较麻烦,对于用户自身来说也会非常困扰,很容易出现不同系统密码不一致啊等情况出现。如果此时我们引入LDAP来集中存储用户的基本信息并提供统一的读写接口和校验机制,那么这样的问题就比较容易解决了。下面就来说说当我们使用Spring Boot开发的时候,如何来访问LDAP服务端。一、LDAP简.

2021-09-02 21:03:57 45

转载 怎样给vue项目重命名

一、删除 node_modules 文件夹二、修改package.json文件,修改name值三、重新安装依赖 cnpm install四、启动项目 cnpm run dev五、上面两步做完之后,运行build命令后,你会发现index文件的title没有改过来,这个时候要修改根目录下面的index.html文件的title,改好之后,vue文件的title就改过来了————————————————原文链接:https://blog.csdn.net/qq_22182989/arti

2021-08-30 16:13:16 27

转载 SpringBoot配置Cors解决跨域请求问题

转载自,原文格式更漂亮清晰:https://www.cnblogs.com/yuansc/p/9076604.html一、同源策略简介同源策略[same origin policy]是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。 同源策略是浏览器安全的基石。什么是源源[origin]就是协议、域名和端口号。例如:http://www.baidu.com:80这个URL。什么是同源若地址里面的协议、域名和端口号均相同则属于同源。是否是同源的判断

2021-08-30 15:12:19 24

转载 mysql中新建数据库create table的COLLATE是什么?

本文由horstxu发表在mysql中执行show create table <tablename>指令,可以看到一张表的建表语句,example如下:CREATE TABLE `table1` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `field1` text COLLATE utf8_unicode_ci NOT NULL COMMENT '字段1', `field2` varchar(12.

2021-08-27 18:14:44 72

转载 【IDEA】如何完美的修改重命名一个SpringBoot项目工程名称

自己之前做好了一个基础的web项目框架web-basic,打算以后开发的时候,都从这个框架开始进行项目的开发,如果以后有心情的话,可能会一直维护好这个框架。自己今天准备开始一个新的项目名字叫pts8000,所以把web-basic项目拷贝过来,最上面一层根目录文件夹的名字已修改为pts8000。修改项目名称主要有以下步骤:1. 修改项目根目录文件夹名称在操作系统里,将根目录的文件夹名称从web-basic改为pts8000。修改之后,使用Idea的Open工具,打开项目的根目录,进入项目中,可以

2021-08-26 17:59:16 169

转载 几种常见mybatis分页实现

mybatis框架分页实现,有几种方式,最简单的就是利用原生的sql关键字limit来实现,还有一种就是利用interceptor来拼接sql,实现和limit一样的功能,再一个就是利用PageHelper来实现。这里讲解这三种常见的实现方式:无论哪种实现方式,我们返回的结果,不能再使用List了,需要一个自定义对象Pager。package com.xxx.mybatis.bean;import java.util.List;public class Pager<T> { pr

2021-08-26 11:32:09 47

转载 Springboot集成PageHelper进行分页(与spring不同)

一、application.yml中的配置原来是在applicationContext.xml(或mybatis的配置文件sqlMapConfig.xml中配置),因为开始是spring集成的:<plugin interceptor="com.github.pagehelper.PageHelper"> <!—指定⽅⾔ —> <property name="dialect" value="mysql"/></plugin>改为:pa.

2021-08-26 11:21:27 41

转载 Mybatis常考面试题汇总(附答案)

1、#{}和${}的区别是什么?在Mybatis中,有两种占位符#{}解析传递进来的参数数据${}对传递进来的参数原样拼接在SQL中#{}是预编译处理,${}是字符串替换。使用#{}可以有效的防止SQL注入,提高系统安全性。2、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?第1种: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致 <select id=”selectorder” parametertype=”int” resulte...

2021-08-24 19:31:50 48

转载 Mybatis面试问题集锦(大结局)

转载自:Mybatis3.4.x技术内幕(二十三):Mybatis面试问题集锦(大结局)Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学习到一点其他博客所没有的技术点,作为作者,

2021-08-24 18:10:12 41

转载 mybatis的parameterType属性那些情况下要写 哪些情况下不用写

如果 是基本类型,或者是java自身的引用类型,在mybatis 运行时,会自动的进行匹配,可以省略parameterType属性。如果是你自己声明的一个类型,因为可能在引入的jar包中有同名的类,所以你需要制定,这个时候的类型是什么。...

2021-08-23 13:50:46 43

转载 VUE中ES6语法export { default } from ‘./home‘; 这是什么语法?怎么理解?

相当于如下(但只是通过该模块文件转发,并没有引入到该模块文件中,所以该文件中不能直接使用):import Home from './home';export default Home;这是ES6模块导入导出语法,具体可以看看阮一峰关于es6的文档(export 与 import 的复合写法):https://es6.ruanyifeng.com/#docs/module#export-%E4%B8%8E-import-%E7%9A%84%E5%A4%8D%E5%90%88%E5%86%9

2021-08-18 11:18:40 45

转载 vue npm install的几种方式区别(好文章!)

npm install有以下几种方式:npm install moduleName # 安装模块到项目目录下npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。npm install --save moduleName # --save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。npm install --save-dev module

2021-08-17 14:32:38 36

原创 Mybatis的flushCache的select、update等不同标签中的默认值

flushCache默认为false(select),表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。 但是在insert、update、delete语句时: flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。参考自:https://blog.csdn.net/u014749862/article/details/80297943...

2021-08-10 00:28:57 50

转载 on、where和having条件的放置详解

总结:对于left join,不管on后面跟什么条件,左表的数据全部查出来,因此要想过滤需把条件放到where后面对于inner join,满足on后面的条件表的数据才能查出,可以起到过滤作用。也可以把条件放到where后面。数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、

2021-08-06 19:42:32 37

转载 mybatis foreach Collection的List、Array、Map

mybatis的foreach官方文档解释:对一个集合进行遍历,通常是在构建IN条件语句的时候使用。例如<select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> ...

2021-08-05 15:13:59 51

转载 【转载】一键生成数据库文档,堪称数据库界的Swagger,有点厉害

本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。为了不重复 CV 操作,抱着一丝希望开始在GitHub里找,看看有没有什么工具可以用,结果就真的发现了宝藏,screw(螺丝钉),居然可以生成数据库文档,优秀啊~。数据库文档图一、数据库支持MySQL MariaDB TIDB .

2021-07-29 17:52:29 38

转载 springBoot 整合 hikari

Hikari是一款非常强大,高效,并且号称“史上最快连接池”。并且在springboot2.0之后,采用的默认数据库连接池就是Hikari。不需要引入依赖,已经在SpringBoot中包含了。GitHub地址:https://github.com/brettwooldridge/HikariCP在 application.yml 中可如下配置:spring: datasource: url: jdbc:mysql://localhost:3306/user_center h

2021-07-29 17:31:14 51

转载 【编程思维纠正】学习编程照着别人的代码敲进去有效率吗?(好文章!)

写在前面:把问题领域和编程问题分开考虑。问题领域:解决问题的方法、步骤编程问题:语法、如何实现步骤不要以 “写代码” 的方式直接思考问题领域中的问题,否则就会让你的思维更加混乱。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~正好最近公司一个同事想学编程。就把这个贡献给题主了~~~每一门学科都有它自己的思维方式,学习的过程就是通过它的知识描述、实例、习题来去感知这门学科究竟是用什么样的思维去运作的。

2021-07-20 17:57:17 82

转载 【转载】我是如何通过高级系统架构师软考的?(值得参考一下)

最近打算考个软考的架构师,所以参考一下。如下为转载文章:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~今年的系统架构师考试又临近了,你是否准备好成为一名持证上岗的架构师了呢?先看看证书长什么样O(∩_∩)O考试时间一般是每年的11月份,是的,一年只能考一次。其他的高级软考一年都可以考两次。这也体现了系统架构师证书的含金量。考试内容共3部分,上午是选择题,下午是案例分析和论文。一般情况是.

2021-07-16 16:39:31 219

转载 ssl证书双向认证访问https—解决javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure(好文章)

背景今天尝试用Java去访问一个https接口,但抛出下面的异常:javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure解决过程(个人发现)建议如果是ssl双向认证的,先看看是不是客户端证书文件路径获取有问题(debug一下,看看是不是null),导致没携带证书访问https服务器,也会报这个handshake_failure错误。遇到问题首先去Google,然后在 javax.n.

2021-07-14 11:14:32 119

转载 java实现HTTPS单向认证&TLS指定加密套件(文章很详细,好文章!)

1、HTTPS介绍 由于HTTP是明文传输,会造成安全隐患,所以在一些特定场景中,必须使用HTTPS协议,简单来说HTTPS=HTTP+SSL/TLS。服务端和客户端的信息传输都是通过TLS进行加密。这样就能在一定程度上避免敏感信息被截取。在通信过程中,请求方称为客户端,响应方称为服务端。HTTPS请求流程如图:1、客户端向服务端发送加密版本、加密算法种类、随机数信息等。2、服务端返回客户端发送的信息并带上服务端证书(公钥证书)。3、客户端效验服务端证书的合法性。4、...

2021-07-13 19:26:42 149

空空如也

HD243608836的留言板

发表于 2020-01-02 最后回复 2020-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除