自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 vue+elementUI对页面数据列表加连续的序号

关键代码 <el-table-column label="序号" prop="" width="180" align="center"> <template slot-scope="scope"> <span v-text="getIndex1(scope.$index)"> </span> </template></el-table-column>处理函数//pageIn

2020-09-28 13:50:53 1102 1

原创 SpringBoot配置mysql5和mysql8的数据源

mysql 8必须加时区serverTimezone,不然启动回报错注意yml文件的分层书写 datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/dbName?useUnicode=true&characterEncoding=UTF-8&useS

2020-09-18 10:58:44 1047

原创 RestTemplate实现http和https方式的远程调用

这里简单记录一下使用方法1.配置类import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.client.SimpleClientHttpRequestFactory;import org.springframework.web.client.RestTemplate;

2020-09-17 16:51:24 1559

原创 Idea集成Git插件

1. 首先安装Git工具(不再描述)2.Idea关联Git步骤如下。3. 从远程Git仓库上拉取项目输入仓库地址和项目存放路径,点击clone4. 对本地库文件修改、新增文件,然后提交。选中要提交的文件,输入提交备注信息。5. 推送到远程。6.远程仓库内容有改动,更新到本地。以上都是使用工具进行推送和拉取的。也可以在idea的终端使用命令操作。注意:上面这几个步骤是有顺序的,一般在开发中,先Commit ,再Pull,再Push,这样避免代码冲突,并且可以在本地解决

2020-09-17 10:56:11 8372

原创 分布式ID生成方案--雪花算法和UUID对比

分布式ID的业务需求在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。比如美团外卖:由于系统中数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据,如订单、骑手、优惠券也都需要有唯一ID做标识。因此一个能够生成全局唯一ID的系统是非常必要的。生成ID的硬性要求全局唯一不能出现重复的ID号,既然是唯一标识,这是最基本的要求。趋势递增在MySQL的InnoDB引擎中使用的是聚集索引,由于多数RDBMS使用BTree的数据结构来存储索引数据。因此在主键的选择上我们应该尽量使用有

2020-09-14 23:11:17 17191 7

原创 Arrays.copyOf()对数组扩容

java的数组大小在定义和分配内存的时候就固定了,下面的代码演示怎么给数组扩容。import java.util.Arrays;public class TestCopyOf { public static void main(String[] args) { int[] arr = {1,2,3,4}; //old长度=4 System.out.println("old长度="+arr.length); //扩容一倍

2020-09-14 18:20:27 539

原创 Idea创建代码模板

1.首先创建一个自定义的模板组,我们这里命名为custom2.选定刚创建的模板组,创建模板3.输入快捷键和对应生成的代码模板。4.选择此代码模板应用的文件类型,这里选择java。配置完成后,在java文件中输入newthread即可生成对应的代码块。...

2020-09-07 16:33:08 592 1

原创 Mybatis-plus常用API入门演示

Mybatis官网官网:Mybatis-plus官方文档 简化 MyBatis !一.入门步骤1.创建数据库 mybatis_plus2.创建user表DROP TABLE IF EXISTS user;CREATE TABLE user(id BIGINT(20) NOT NULL COMMENT '主键ID',name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',age INT(11) NULL DEFAULT NULL COMMENT '年

2020-09-06 11:06:40 1759

原创 Maven的阿里云镜像配置

全局配置添加阿里云的镜像到maven的setting.xml配置中,这样就不需要在每个pom中都添加镜像仓库的配置,在mirrors节点下面添加子节点: <mirror> <id>nexus-aliyun</id> <name>nexus-aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</ur

2020-09-05 10:51:10 9335

原创 Linux系统验证端口是否开放的两种方式

演示环境:ubuntu16.04方式一:1.如果没有安装telnet,输入以下命令进行安装sudo apt install telnetd2.telnet + ip + port验证以下表示端口开放。方式二:使用 nc -l port 临时监听TCP端口, -l 指定nc监听一个外来的连接使用浏览器测试访问ip+port。以下输出证明此端口已经开放,且目前没用被占用。如果没有输出任何信息,可能是端口没有开放或者端口已经被占用。...

2020-09-03 22:53:35 2577

原创 上传图片到mysql数据库报错,com.mysql.jdbc.PacketTooBigException: Packet for query is too large

上传图片到mysql数据库报错com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1364317 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.出现原因MySQL会根据配置文件限制server接收的数据包大小在执行比较大数据插入或者更新的时候,会根据配置文件”ma

2020-09-03 22:45:22 176

原创 Ubuntu安装JDK后输入javac 不显示版本信息,* default-jdk * ecj * gcj-4.9-jdk

Ubuntu16.04安装JDK后输入javac 不显示版本信息root@rootuser-virtual-machine:/usr/lib/java# javac程序 'javac' 已包含在下列软件包中: * default-jdk * ecj * gcj-4.9-jdk * openjdk-8-jdk-headless * gcj-4.8-jdk * gcj-5-jdk * openjdk-9-jdk请尝试:apt install <选定的软件包>解决办法:需要

2020-09-03 22:38:56 710 2

原创 java生成流水号(业务码+年/月/日/+自增序列)

代码记录public class NumberUtil { //业务规模较小,一天自增不会超过999 private final static String FORMAT_CODE = "000"; private final static String FAULT_PREFIX = "E"; /** * 生成流水号的方法 * @param faultNum * @return 格式为E20200819001 */ public static String formatNum

2020-08-21 14:24:03 2621 2

原创 Springboot启动报错Failed to configure a DataSource: ‘url attribute is not specified and no embedded……

问题描述Springboot工程启动报错,信息如下问题定位application.yml配置的数据源问题,报错提示信息如下问题解决找不到配置属性,原因是层级缩进的问题导致找不到包

2020-08-17 14:09:56 90

原创 idea配置工程热部署

1. 在pom文件中添加热部署需要的jar包<!--热部署--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optiona

2020-08-17 14:00:51 132

原创 springboot项目的yml文件不被识别

springboot项目yml不是绿叶,以至于编写文件没有提示解决方法1.File-----settings,开启springboot插件2.File-----ProjectStructure3.配置成功

2020-08-16 11:12:10 7063 2

原创 idea新建Maven父工程并进行初始化配置

演示新建一个Maven父工程,并完成基础的配置新建Project选择Maven工程GAV命名选择Maven版本项目名称和项目路径Finish控制台输出BUILD SUCCESS表示构建成功修改POM文件<groupId>com.kwhua</groupId><artifactId>maven2020</artifactId><version>1.0-SNAPSHOT</version><!—ma

2020-08-15 00:39:22 636

原创 Maven3.6的下载和安装

一.Maven下载进入Maven官网下载压缩包++++++++++++++++++++++++二.安装配置1.解压安装包即可2.配置环境变量此电脑—右键’管理’—高级系统设置—环境变量系统变量—新建—变量名:MAVEN_HOME,变量值:D:\Study-software\apache-maven-3.6.3(以自己安装路径为准)在path中引入MAVEN_HOME建立maven仓库进入Maven安装目录的conf文件夹编辑settings.xml文件修改仓库路径(此步骤可

2020-08-13 18:07:07 4637

原创 windows版mysql的卸载与安装图文演示

先前本机安装的是mysql5.5,现卸载此版本,安装8.0版本一.卸载mysql1.停止mysql服务2.在应用程序中卸载mysql3.删除mysql安装时的安装目录4.删除 C 盘 ProgramDate 目录中关于 MySQL 的目录。路径为:C:\ProgramData\MySQL(是隐藏文件,需要显示出来)二.下载mysql官方下载地址本次安装以.msi安装包为例拉到底部点击MySQL Community (GPL) Downloads点击MySQL Community Se

2020-08-13 10:58:01 142

原创 springboot项目整合redis

Jedisjedis是官方推荐的java连接开发工具。1.导入依赖<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.2.0</version> &lt

2020-08-09 11:12:06 193

原创 redis主从复制和哨兵模式

redis的主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(masterleader) ,后者称为从节点(slavelfllower) ;数据的复制是单向的,只能由主节点到从节点。Master以写为主, Slave以读为主。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用主要包括:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2、

2020-08-09 00:12:36 310

原创 redis订阅发布演示

redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。redis发布订阅命令redis客户端可以订阅任意数量的频道。发布订阅模型下图展示了频道channel1,以及订阅这个频道的三个客户端–client1 client2, client5之间的关系当有新消息通过PUBLISH命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端。测试订阅端subscribe127.0.0.1:6379> subscribe

2020-08-07 15:31:17 176

原创 redis的数据持久化--rdb和aof文件恢复数据

redis持久化redis是内存数据库,如果不将内存中的数据状态保存的磁盘,那么一旦服务器宕机,服务器中的数据库状态也会消失,所以redis提供了持久化功能。RDB和AOF我们既可以把redis理解为缓存技术,也可以理解为数据库,因为redis支持将内存中的数据周期性的写入磁盘或者把操作追加到记录文件中,这个过程称为redis的持久化。redis支持两种方式的持久化,一种是快照方式(snapshotting),也称RDB方式;两一种是追加文件方式(append-only file),也称AOF方式。R

2020-08-07 09:27:12 1329

原创 Ubuntu16.04之redis的安装与卸载

系统:ubuntu16.04redis版本:5.0.51. 下载安装包redis官网下载redis-5.0.5.tar.gz,上传至home路径。2. 解压在opt下创建redis目录,并解压到此目录# cd /opt/# mkdir redis# cd redis/# cp /home/redis-5.0.5.tar.gz ./# tar zxvf redis-5.0.5.tar.gz3.查看系统是否安装gcc(环境需要)# gcc --version以下输出表示已经安装

2020-08-05 23:47:17 797

原创 redis中缓存穿透,缓存击穿、缓存雪崩的理解

redis缓存概述Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来一些问题,其中,尤为重要的是数据的一致性问题,从严格意义上讲,这个问题无解,如果对数据的一致性要求很高,那么就不能使用缓存。缓存穿透(缓存中查不到)概念缓存穿透的概念很简单,用户想要查一个数据,发现redis内存数据库没有,也就是缓存没有命中,(比如秒杀场景)于是向持久层数据库查询.发现也没有,于是本次查询失败,当用户很多的时候,缓存都没有命中,于是都去请求了数据库,这会给持久层数据库造成很

2020-08-04 23:26:24 431

原创 redis配置文件redis.conf常用配置说明

redis的配置文件在windows版本中是 redis.windows.conf,在linux版本是redis.conf。1. 单位UNIT# Note on units: when memory size is needed, it is possible to specify# it in the usual form of 1k 5GB 4M and so forth:# 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 100000

2020-08-04 17:19:42 178

原创 redis事务和乐观锁

事务redis事务的本质是一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行。具有一次性,顺序性,排他性。redis事务有没有隔离级别的概念,所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行。redis的单条命令是保持原子性的,但是事务不保证原子性redis事务流程开启事务(multi)命令入队(……)执行事务(exec)正常执行事务#开启事务127.0.0.1:6379[2]> multi OK#命令入队127.0.0.

2020-08-04 15:53:10 125

原创 redis五大基本数据类型和三种特殊的数据类型演示

简介-来自官网Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU

2020-08-04 14:37:11 277

原创 Ubuntu 16.04镜像文件下载

官方下载地址(不推荐)https://www.ubuntu.com/download中科大源 http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/阿里云开源镜像站http://mirrors.aliyun.com/ubuntu-releases/16.04/兰州大学开源镜像站http://mirror.lzu.edu.cn/ubuntu-releases/16.04/北京理工大学开源http://mirror.bit.edu.cn/ubuntu

2020-07-21 17:42:42 1665

原创 Vue之v-show和v-if的区别

1. 问题描述在校验数据完整性的时候,如果用v-show那么rules中加入了校验,使用v-show=“false” 隐藏显示,提交时页面还是会做校验,以至于不能将数据提交到后台,如果使用v-if=“false”可以解决此问题。2. 二者区别v-if和v-show具有类似的功能,不过v-if才是真正的条件渲染,它会根据表达式是适当地销毁或重建元素及绑定的事件或子组件。若表达式初始值为false。则一开始元素/组件并不会渲染,只有当条件第一次变为真时才开始编译。而 v-show 只是简单的CSS属性切.

2020-07-21 10:57:42 217

原创 Swagger入门--整合Springboot

1.简介在前后端分离的背景下,前后端通过API进行交互,前后端相对独立且松耦合。因此前后端集成时,前端或者后端问题无法做到及时协商沟通,最终导致问题集中爆发。swagger可以很好的解决此问题。在项目开发中,根据业务代码自动生成API文档,给前端提供在线测试,自动显示JSON格式,方便了后端与前端的沟通与调试成本。Swagger有一个缺点就是侵入性模式,必须配置在具体的代码里。2.环境搭建导入依赖<!-- https://mvnrepository.com/artifact/io.sprin

2020-07-20 23:17:33 224

原创 在vscode终端运行项目,报错cnpm:无法加载文件C:\xxx,因为在此系统上禁止运行脚本。

在vscode终端运行项目,报错如下以管理员身份运行vscode执行以下命令#Restricted表示状态是禁止的PS H:\mulproAndov\fusioncloud-vue> get-ExecutionPolicyRestrictedPS H:\mulproAndov\fusioncloud-vue> set-ExecutionPolicy RemoteSignedPS H:\mulproAndov\fusioncloud-vue> get-ExecutionPo

2020-07-13 22:10:49 571 1

原创 Cannot add or update a child row: a foreign key constraint fails

在两表有外键的关联关系时,插入数据时报Cannot add or update a child row: a foreign key constraint fails异常。其实这句话的意思就是你添加一个值是一个外键,但是这个外键不在关联的数据库中的主键中,这样就导致了添加失败了,解决办法就是添加对应关联数据库的主键的值。演示说明两张演示表emp表dept表关联关系插入数据操作insert into emp VALUES (6,"张三","男",20,8000,1)异常原因:d

2020-07-13 21:33:52 581

原创 演示在navicat中为mysql表添加外键

1. 建立两张测试表员工表(emp)部门表(dept)2. 将emp表和dept表中的选项设置如下emp表dept表3. 设置外键注意外键名:可以不填, 系统自动生成;栏位名: 就是设置‘dept_id’为外键;参考数据库: 外键(‘dept_id’)关联的数据库;引用表: 关联的表, 这里是dept表;参考栏位: 关联的字段(这里是“id”, dept表的主键);删除时:删除时候选择的动作(这里选择CASCADE)CASCADE —就是当关联的表dept删除时,emp中.

2020-07-13 00:04:13 1721

原创 @RequestParam、@RequestBody、@PathVariable三者的区别

@RequestParam接收的参数是来自requestHeader,即请求头中@RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type默认为该属性。例子@RequestMapping("/testRequestParam")//name属性解决前后端参数名称不一致问题,把jsp页面传递过来的name属性赋值给username。 public String testRequ.

2020-07-10 22:06:24 141

原创 Springboot项目上传图片文件并存入指定目录

一 .上传图片到指定目录 /** * 测试文件上传 */ @RequestMapping("/testFileUpload") public R testFileUpload(@RequestParam MultipartFile upload, HttpServletRequest request) throws Exception{ //上传文件的位置,默认会在项目根目录找static文件夹,需手动创建,不然找到是临时路径。 Strin

2020-07-08 22:09:42 6539 2

原创 docker镜像-容器简单操作命令

1. docker概述docker是一种容器技术,解决软件跨环境迁移的问题。我们写代码的时候通常会有多个环境,比如开发环境,测试环境以及生产环境。在产品的开发过程中经常会遇到一些在开发环境上没有问题,而到测试环境或者生产环境就有问题的情况。这时候docker就能很好的解决问题,他将应用程序以及应用程序所依赖的环境一起保存到docker容器中,然后发布到任何流行的Linux机器上。就可以规避因为环境不同而造成的一系列的问题。容器是完全使用沙箱机制,相互隔离。也就是说一些Linux机器上可以有很多doc.

2020-06-29 23:48:49 124

原创 (案例篇)java基础io流-InputStream、OutputStream、Reader、Writer

字节输入流字节输出流package test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;/** * 字节流 * 缓冲数组方式复制文件 * @author kwhua */public class ByteStream { public static void main(String[] args)

2020-06-25 00:19:11 210

原创 linux系统安装mysql、开放3306端口、配置访问权限

案例环境ubuntu16.04,MySql5.71. 安装mysql查看是否已安装mysql --version安装命令sudo apt-get install mysql-server2.查看3306端口是否开放远程连接netstat -an|grep 3306下图所示,绑定本机,没有开启远程访问3.修改配置文件使其可以远程连接sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf在默认情况下我们只允许本地服务访问MySQL,因此只是掉注释掉

2020-06-24 23:58:58 6186

原创 ubuntu16.04安装最新版本docker或安装指定版本docker

1. 查看是否已安装docker$ docker -v 或者$ docker --version如果有版本信息请卸载旧版本,及其安装时自动安装的所有包$ sudo apt-get remove docker docker-engine docker.io containerd runc 使用Docker安装在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。然后可以从仓库安装和更新 Docker 。设置仓库 2. 更新apt包索引.

2020-06-20 23:25:16 2085 1

空空如也

空空如也

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

TA关注的人

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