自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用Docker将制作好的镜像发布到Docker hub上

看该博客之前,相信你已经会玩docker了,接下来我们就发布一个springboot项目到dcokerhub吧!一.新建一个springboot项目。自己新建一个springboot项目即可。写一个控制类,并运行项目测试是否跑通。我的运行无误。然后把项目打包一下,打成一个jar包。点击maven -->package,他会自动帮你打包。打包完成之后,你会在项目路径下看到刚刚打包好的jar包。二.编写Dockerfile右键项目新建一个文件Do

2021-07-04 11:35:07 389

原创 Element-ui中表格中点击图片预览功能

Element-ui中表格中点击图片预览功能1.实现的功能,在表中,点击图片,实现图片的放大预览:2.代码实现。 <el-table-column prop="imageUrl" label="图片" min-width="20%" > <!-- 图片的显示 --> <template slot-scope="scope">

2021-06-23 14:16:31 2899 1

原创 vue-admin-template实现登录过程(对接Controller)

vue-admin-template实现登录过程(对接Controller)关注公众号,每天更新优质好文!vue-admin-template是使用vue+element-ui开发的一款很棒的后台管理系统基础模板。我们一般在上面进行二次开发。我们可以预览一下,还是很棒的,我很喜欢。项目预览地址:https://panjiachen.gitee.io/vue-admin-template接下来,我们就下载了使用一下吧。1.第一步、下载vue-admin-template模板,然后导入到开

2021-05-28 22:49:33 6338 7

原创 ajax异步请求数据库实现级联下拉菜单。

ajax实现级联下拉菜单,使用Springboot实现。思路很简单,使用ajax异步请求数据库数据即可。实现效果:废话不多说,现在我们来开始实现!第一步、创建三张表:省、市、县。CREATE TABLE `province` ( `id` int(11) NOT NULL AUTO_INCREMENT, `provinceID` int(11) NOT NULL, `province` varchar(20) NOT NULL, PRIMARY KEY (`id`)) E

2021-05-17 15:51:15 1144 3

原创 IDEA实现SSM框架整合并在网页上显示数据

IDEA实现SSM框架整合并在网页上显示数据关注公众号,每天更新优质好文!接下来我们来整合SSM框架。第一步、创建一个maven工程。配置Tomcat,并测试是否正常访问HelloWorld.这一步就省略了。不懂得看这个博客:idea创建maven项目创建出来是这样的:我们从这里开始整合ssm。第二步、在pom.xml导入依赖,以下依赖是ssm常用的一些依赖,都导进去,没有坏处。 <properties> <project.build.sourceEn

2021-05-14 21:34:01 2809 9

原创 解决No converter found for return value of type: class java.util.ArrayList问题

解决No converter found for return value of type: class java.util.ArrayList问题最近做ssm项目遇到了下面这个问题。解决办法:添加三个依赖: <properties> <jackson.version>2.9.0</jackson.version> </properties> <dependencies> <dependency>

2021-05-12 13:22:27 535 2

原创 IDEA中解决<%@ taglib uri=“http://java.sun.com/jsp/jstl/core“ prefix=“c“%>报错

IDEA中解决<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>报错使用IDEA做jsp项目时,用到了jstl,但是报错了。原因是你没有引入相关的依赖。在pom.xml文件中引入以下两个依赖,即可解决。dependency> <groupId>org.apache.taglibs</groupId> <artifactId>taglibs-standard-spe

2021-05-12 12:56:03 3432 4

原创 idea创建web项目步骤

idea创建web项目步骤好多朋友在使用IDEA创建项目时,总会碰到一些小问题。现在我们就演示一下使用IDEA创建web项目的完整步骤吧。一. File --> new -->project二、构建maven项目。三、创建项目名,报名,项目路径。四、选择好maven仓库,完成创建。创建之后的项目如下图所示:聪明的你会发现项目中没有 java 和 rescoures 文件夹。接下来我们把这两个创建出来。点击File -->Project Structure–

2021-05-10 23:34:51 5180 10

原创 解决Request processing failed; nested exception is org.apache.ibatis.binding.BindingException报错

解决Request processing failed; nested exception is org.apache.ibatis.binding.BindingException报错做ssm项目遇到该问题:Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):大概意思是,找不到你的XML配置文件。

2021-05-10 17:12:29 13276

原创 前端页面乱码的解决

前端页面乱码的解决最近做ssm项目,有个乱码问题,记录一下解决方案。1.在注解上加一个produces属性。produces = “application/json;charset=utf-8”@RequestMapping(value = "user/reg",produces = "application/json;charset=utf-8")2.在Springmvc的配置文件中配置编码。(推荐这个,一劳永逸)在mvc:annotation-driven标签下添加编码配置。 <m

2021-05-10 10:38:07 530

原创 Ajax实现注册登录校验

Ajax实现注册登录校验1.在做项目的时候,或多或少都会用到ajax来实现注册登录的校验,例如,当你注册时,你输入一个用户名,就会提示你,用户名可用,或者,用户名已被注册 ,等等 ,就像下图这种。接下来我们就实现一下这个简单的实例吧。1.Controller的编写,这里为了方便,就伪造一个用户名密码。 @RequestMapping("user/reg") @ResponseBody public String login(String name, String pwd){

2021-05-08 11:58:06 3082

原创 ajax实现前后端数据交互

ajax实现前后端数据交互1.在做项目的时候,或多或少都会用到ajax来实现前后端数据的交互,接下来我们就看一个简单的实例吧。实例效果:点击按钮,发送异步请求,请求后端的数据,显示在网页上。接下来我们就来实现一下吧。1.实体类:TableData.javaimport lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoA

2021-05-08 11:41:46 8897 6

原创 ajax请求出现/[object%20Object]错误的解决办法

ajax请求出现/[object%20Object]错误的解决办法做ajax请求时,莫名奇妙的出现了[object%20Object],解决了一天,哭了~~如上图这种错误。错误的原因是:你使用的Jquery的版本过低,不能使用 $.post() 。两种解决方案: 1.升级高版本。2.换一种写法,把$.post() 改成 $.ajax({ type: “post”, 。。。 格式...

2021-05-07 23:40:14 2654

原创 web项目解决出现406的错误

web项目解决出现406的错误最近做ssm项目遇到了406的问题,记录以下解决方法。解决办法:引入jackson包 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <

2021-05-07 22:50:28 404

原创 JSONObject所需要的依赖和简单使用

JSONObject所需要的依赖和简单使用1.JSONObject所需要的依赖。 <!-- JSONObject的依赖 --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <clas

2021-05-06 22:48:33 6219

原创 Idea创建web项目访问jsp

Idea创建web项目访问jsp1 点击file --> New --》Project2.下一步, 选好之后点击next3.自定义项目名,完成之后next。4.选择好maven仓库,之后点击finish,项目就创建成功了。接下来配置tomcat访问jsp.点击Add Configuration5.点击右上角加号,找到tomcat server local .6.配置Tomcat7.点击Deployment把项目配置到Tomcat里。选择第二个,点击OK。所有完

2021-05-06 17:49:53 2132

原创 Mybatis的逆向工程的使用(mybatis generator)

Mybatis的逆向工程的使用(mybatis generator)一。编写配置文件。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"&g

2021-04-17 16:53:11 133 1

原创 Java精选面试题

Java精选面试题分享一些很高频的Java面试题,里面涵盖了各种技术点,Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,差不多1000多道。获取方式:扫码关注,回复 Java 即可领取。希望能帮到大家。这些都是别人分享出来的,内容很棒。...

2021-04-14 21:44:03 144

原创 十大排序之堆排序

十大排序之堆排序(HeapSort)1.简介堆排序(英语:Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆排序的时间复杂度是:O(nlogn) 空间复杂度:O(1).说到堆排序就不得不提到完全二叉树了。什么是完全二叉树呢?完全二叉树定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。一颗普通的完全二叉树:我们把堆又分为大根堆和小根堆,大根堆:根结点的键值是所有堆结点键

2021-04-13 22:38:28 167

原创 十大排序之冒泡排序

冒泡排序1.简介冒泡排序是一种很经典的算法,它的思路也很简单:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序的时间复杂度是:O(n²) , 空间复杂度是:O(1)2.图解流程假设我们待排序数组是: 5 4 7 1 2 3 首先开始进行第一轮排序,第一个

2021-04-13 21:00:20 134

原创 B树自在人心

B树自在人心之B-树 和 B+树1.简介首先要搞清楚一点,他们的名字读法,B+树读作B加树;B-树 读作 B树 ,不是B减树,没有这个说法的。就只有B-树和B+树这俩种数据结构,B-树是由B-Tree翻译过来的,中间不是减号。。。。 别出去跟别人说精通B树,B+树和B减树,hahahaha。在看B树之前,相信你已经知道什么是二叉树、二叉排序树、平衡二叉树、最优二叉树等等。加下来我们先看看B-树吧。2.B-树2.1 为什么会出现B-树?B树的出现是为了弥合不同的存储级别之间的访问速度上的巨大差异

2021-03-29 23:17:43 425

原创 java中位运算符

java中>>、<< 、>>>位运算符详解

2021-03-28 17:00:19 416

原创 十大排序之插入排序

java实现插入排序(InsertSort)十大排序之快速排序十大排序之归并排序扫码关注公众号,更多资料尽在掌握。1.简介插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序的时间复杂度是O(n^2) ,空间复杂度 是O(1)。实现思路:第一步、将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。第二步、从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当

2021-03-28 14:47:07 304 4

原创 十大排序之归并排序

java实现归并排序(Mergesort)1.简介归并排序(MERGESORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序的时间复杂度是: 空间复杂度是:归并排序的思路流程是:第一步、将待排序数列中的数字分为若干组,每个数字分成一组,即如果数列中8个数字,就分成8组。第二步、将这些组

2021-03-27 23:15:12 290

原创 十大排序之快速排序

java实现快速排序(Quicksort)1.简介快速排序,快速排序(Quicksort)是对冒泡排序的一种改进。它采用了分治法的策略,数据量越大,越能体现快排的速度。快速排序的平均时间复杂度是O(nlogn), 空间复杂度是O(n),是不稳定排序。快速排序实现的思想是:指通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行,以此达到整个数据变成有序序列。总结:第一步、在数列中取出

2021-03-27 17:43:50 333

原创 (left 、right、inner 、outer、cross) join 一次搞懂

(left 、right、inner 、outer、cross) join 一次搞懂最近刷了一些sql题,发现连接查询用的很多,记录一下。首先附上一张很清晰的图,通过这张图你就能很形象的理解出各种连接查询的区别。接下来我们分别来看看各种查询的特点。准备工作,首先建两张表,一张学生表,一张学科表。DROP TABLE IF EXISTS `scores`;CREATE TABLE `scores` ( `stu_sub` int(11) NOT NULL AUTO_INCREMENT,

2021-03-22 19:43:50 612

原创 青蛙跳台阶问题

青蛙跳台阶问题1.简介青蛙跳台阶是在递归方法中经典的问题,我们来看一下问题问题一:一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。问题二:一只青蛙一次可以跳上1级台阶,也可以跳上2 级……它也可以跳上n 级,此时该青蛙跳上一个n级的台阶总共有多少种跳法?先看问题一:一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。我们先用列举法推出:跳一个一级台阶有一种跳法,跳一个二级台阶有两种跳法,跳一个

2021-03-21 22:24:52 204

原创 布隆过滤器

什么是布隆过滤器(Bloom Filter)1.引言上一篇博客: Redis缓存雪崩、缓存击穿、缓存穿透在上一篇博客中,我们了解了Redis缓存雪崩、缓存击穿、缓存穿透,并且知道了解决缓存穿透可以使用布隆过滤器,接下来我们就一起来看看这个布隆过滤器吧!2.布隆过滤器首先,我们需要了解布隆过滤器的概念。布隆过滤器(Bloom Filter)是一个叫做 Bloom 的老哥于1970年提出的。我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平

2021-03-21 19:52:53 138

原创 Redis缓存雪崩、缓存击穿、缓存穿透

Redis缓存雪崩、缓存击穿、缓存穿透1.缓存雪崩。首先要明白什么是缓存雪崩。缓存雪崩是指缓存中数据同一时间大面积达到过期时间,所以,后面的所有请求会全部落到数据库上,查询数据量巨大,造成数据库短时间内承受大量请求而崩掉。我们先来看一张简单的请求图:用户去访问电商平台,平台会根据请求内容去查询缓存,如果缓存中有数据,则直接返回,就不用去请求数据库,如果缓存中没有该数据,那么会请求数据库,同时将请求的数据同步到缓存中,下一次访问相同内容时,就直接返回缓存中的数据。那么缓存雪崩是怎么产生的呢?这

2021-03-21 16:28:38 164

原创 mysql limit和offset用法笔记

mysql 中 limit和offset用法limit一般被用来排序,首先来看一下limit 和 offset用法:SELECT * from user limit 1;SELECT * from user limit 0,1;SELECT * from user limit 1,2;SELECT * from user limit 2 OFFSET 1;SELECT * from user limit 1 OFFSET 2;1.首先看一下整张表的数据:SELECT * fro

2021-03-20 23:25:25 941 1

原创 Redis几种数据类型的相关操作

Redis常见的5种数据类型相关操作1.前言该博客是基于Linux操作系统来操作Redis的,如果还没在Linux中安装Redis的可以先安装,具体步骤:CentoS 7系统安装redis教程当然,你用Windows系统也是可以的。首先,附上Redis命令中心中文官方文档:Redis中文官方文档2.数据类型Redis是一个Key-Value型的内存数据库,它所有的key都是字符串,而value常见的数据类型有五种:string,list,set,zset(有序集合sorted set),hash

2021-03-18 21:58:19 125 1

原创 CentoS 7系统安装redis教程

CentoS 7系统安装redis教程一。准备工作。到redis的官网上下载linux环境下的redis压缩包,下载地址:redis 6.2.1下载地址下载之后将压缩包上传至CentOS,放到 /usr/local目录下,(看个人习惯,本博客以该路径为例)。2.打开CentOS终端,安装C++所需要的环境。Redis是C语言开发的,安装Redis需要C语言的环境。执行如下命令:yum install gcc-c++等待完成即可。二.安装redis第一步:进入到 /usr.local

2021-03-17 18:37:16 204

原创 Springboot中org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)报错解决

Springboot中org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错解决方案1.说明。最近在项目中遇到了这个报错,记录下解决方案。出现该问题有两种情况,第一种是代码编写问题,第二种是maven编译问题。先看看你的代码有没有写错,比如你的Mapper层的方法名是否和xml中的方法名一致等等当你的代码没问题还是报这个错的话,那么就是maven编译错误了。maven的默认加载机制,

2021-03-12 22:07:22 1941 2

原创 Mybatis-plus实现条件查询

Mybatis-plus实现条件查询(复杂查询)1.我们一般都会用到条件查询,下面来看看mybatis-plus中几个常见的条件查询,思路很简单,创建QueryWrapper对象,然后再调用各种方法。 然后把wrapper对象,传过去即可。 //条件查询(复杂查询) @Test public void testSelectQuery(){ //创建对象 QueryWrapper<User> wrapper = new QueryWrapper

2021-03-09 20:47:44 23281 3

原创 Mybatis-plus实现乐观锁

Mybatis-plus实现乐观锁1.概念。首先要明白什么是乐观锁,什么是悲观锁?悲观锁:当我们要对一个数据库中的一条数据进行修改的时候,为了避免同时被其他人修改,最好的办法就是直接对该数据进行加锁以防止并发。这就悲观锁,在效率方面,处理加锁的机制会让数据库产生额外的开销,还有增加产生死锁的机会;另外,还会降低并行性,一个事务如果锁定了某行数据,其他事务就必须等待该事务处理完才可以处理那行数据。乐观锁:乐观锁假设数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检

2021-03-09 12:21:24 1029

原创 Mybatis实现物理删除和逻辑删除。

Mybatis实现物理删除和逻辑删除。1.首先明白什么是物理删除,什么是逻辑删除?什么是物理删除呢?就是直接干掉数据库的数据,无法再恢复回来。但在当今的企业级项目中,物理删除已经非常少见,而是使用逻辑删除。所谓逻辑删除本质上是个update操作,通过一个标记字段来识别某个数据是否被隐藏起来,但是对于用户来说看不到了自然以为就是删除了。我们分别来看看mybatis-plus的物理删除和逻辑删除。项目的创建就不详细说明了,我们直接再之前的表上操作。我们先来看看物理删除,写一个删除方法吧!物理删除方法

2021-03-09 10:05:26 8356

原创 mybatis-plus的字段自动填充

mybatis-plus的字段自动填充。1.简介先说明一下,什么是自动填充?就是我们没有设置该字段的值,但是它会在添加数据的时候自动填充,使用场景:数据的创建时间,修改时间。这些数据不用我们手动输入,让mybatis-plus来帮我们填充,而且这些字段也是符合阿里巴巴数据库设计规范的。有了数据的创建时间和修改时间,会让数据更加清晰。接下来我们就实现一下吧。第一步,在数据表中添加两个字段, 一个创建时间,一个修改时间,类型为datetime.第二步、创建项目,编写代码。第三步、引入依赖:

2021-03-08 20:57:51 2315 2

原创 Mybatis-plus使用教程

Mybatis-plus使用教程1.概述。首先,需要看mybatis-plus的官方文档可以点击此处:mybatis-plus官方文档mybatis-plus是mybatis的升级版,比它更强大!在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。首先看下官方给他的描述吧!无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Servic

2021-03-08 20:41:37 10181 3

原创 Swagger的配置及使用教程

Swagger的配置及使用教程1.简介。在项目开发的过程中 ,一个好的API开发文档是必不可少的,开发文档有助于前后端用户的沟通交流,减少沟通成本,由于之前的开发文档存在一些问题,比如接口多、细节复杂、API接口不能实时更新等等,就导致了Swagger2的诞生,它完美的解决了这个问题,它作为一个规范和完整的框架,可以用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。2.使用。1.我们用springboot来使用一下swagger吧,首先新建一个springboot项目。2. 选

2021-03-07 00:59:06 21849 4

原创 group by 和 order by的区别即使用

group by 和 order by的区别即使用1.概念顾名思义,group by 是 分组;order by是排序。group by 必须和聚合函数配合使用,聚合函数是指:sum()、max()、count()、avg()等。在group by 后面可以跟上having进行过滤,对结果进行筛选。order by是排序,默认为升序(asc), 后面跟排序的字段名,可以跟多个字段名。2.使用2.1.group bypeople数据库表:语句的测试:select age from peop

2021-02-23 13:06:55 3762 1

空空如也

空空如也

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

TA关注的人

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