自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)

原创 springboot 使用 Swagger2 整合api文档

1.在父工程的pom.xml中引入相关的Swagger2依赖<!-- swagger2 配置 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version&gt

2020-05-11 12:39:49 74

原创 使用MyBatis数据库逆向生成工具

1.逆向生成工具pom.xml <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- 引入log4j日志依赖 --> <dependency> &lt

2020-05-11 10:41:15 75

原创 搭建SpringBoot聚合工程(配置文件)

搭建SpringBoot聚合工程(配置文件)刚学SpringBoot不久,有问题可以指导下创建好的聚合工程1.首先在父工程中的pom.xml文件中添加<packaging>pom</packaging> <!--引入依赖 parent--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp

2020-05-11 10:02:03 197

原创 最简单的Mybatis-plus代码生成工具

官方给我们提供了一个代码生成器,然后我写上自己的参数之后,就可以直接根据数据库表信息生成entity、service、mapper等接口和实现类。// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中public class CodeGenerator { /** * <p> * 读取控制台内容 * </p> */ public static String scanner(String tip)

2020-09-02 17:00:55 26

原创 每天学一点之Docker基础学习

1、Docker简介1.1什么是DockerDocker是指容器化技术,用于支持创建和使用 Linux® 容器。那么,什么是 Linux 容器?Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker 的基础是 Linux 容器(LXC)等技术。1.2为什么选择Docker?1、上手快2、职责的逻辑分类3、开发高效的生命周期4、鼓励使用面向服务的框架与传统的虚拟机相比,Docker优势体现为启动速度快、占用体积小。1.3Docker组件1.3.1 Docker服务

2020-09-01 19:18:46 31

原创 数据结构与算法之堆学习

1.堆的定义堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。2.堆的特性1.它是完全二叉树,除了树的最后一层结点不需要是满的,其它的每一层从左到右都是满的,如果最后一层结点不是满的,那么要求左满右不满。2.它通常用数组来实现。如果一个结点的位置为k,则它的父结点的位置为**[k/2],而它的两个子结点的位置则分别为2k和2k+1**。这样,在不使用指针的情况下,我们也可以通过计算数组的索引在树中上下移动:从a[k]向上一层,就令k等于k/2,向下一层就令k等于

2020-08-24 11:44:27 51

转载 Thread.sleep()和TimeUnit.SECONDS.sleep()的区别

TimeUnit是什么?TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作。首先来看源码,原来是对Thread.sleep方法的包装,实现是一样的,只是多了时间单位转换和验证,然而TimeUnit枚举成员的方法却提供更好的可读性public void sleep(long timeout) throws InterruptedException { if (timeout > 0) { long ms

2020-07-29 15:05:19 146

原创 Vue基础学习笔记(二)

Vue常用特性表单基本操作获取单选框中的值(采用v-model)获取单选框中的值通过v-model <!-- 1、 两个单选框需要同时通过v-model 双向绑定 一个值 2、 每一个单选框必须要有value属性 且value 值不能一样 3、 当某一个单选框选中的时候 v-model 会将当前的 value值 改变 data 中的 数据 gender 的值就是选中的值,我们只需要实时监控他的值就可以了 --> <input

2020-07-02 23:10:59 55

原创 Vue基础学习笔记(一)

1.什么是Vue?Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。示例:每个 Vue 应用都需要通过实例化 Vue 来实现。语法格式如下:var vm = new Vue({ // 选项})data 用于定义属性。methods 用于定义的函数,可以通过 return 来返回函数值。{{ }} 用于输出对象属性

2020-06-30 23:01:43 74

原创 JavaScript高级学习笔记(五)

ES6语法ES6相关概念(★★)什么是ES6ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。为什么使用 ES6 ?每一次标准的诞生都意味着语言的完善,功能的加强。JavaScript语言本身也有一些令人不满意的地方。变量提升特性增加了程序运行时的不可预测性语法过于松散,实现相同的功能,不同的人可能会写出不同的代码ES6新增语法let(★★★)let声明的变量只在所处于的块级有效 if (true) { let

2020-06-10 16:17:35 70

转载 【面试】非技术类面试常见问题

一、常见面试题目自测1:请你介绍一下你自己这是面试官常问的问题。一般人回答这个问题过于平常,只说姓名、爱好、工作经验,这些简历上都有。其实,面试官最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分等。2:说说你的家庭 面试时询问家庭问题不是非要知道求职者家庭情况,探究隐私,而是要了解家庭背景对求职者的塑造和影响。面试官希望听到的重点也在于家庭对求职者的积极影响。3:说说你的最大优缺点 这个问题的概率很大,面试官喜欢求职者从自己的优点说起,中间加一些小缺点

2020-06-10 13:03:22 125

原创 JavaScript高级学习笔记(四)

1.正则表达式概述1.1什么是正则表达式正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。1.2 正则表达式的特点灵活性、逻辑性和功能性非常的强。可以迅

2020-06-10 10:11:19 65

原创 JavaScript高级学习笔记(三)

1.函数的定义和调用1.1函数的定义方式方式1 函数声明方式 function 关键字 (命名函数)function fn(){}方式2 函数表达式(匿名函数)var fn = function(){}方式3 new Function() (不推荐使用)var f = new Function('a', 'b', 'console.log(a + b)');f(1, 2);var fn = new Function('参数1','参数2'..., '函数体')注意/*Funct

2020-06-09 14:57:46 54

原创 JavaScript高级学习笔记(二)

1.构造函数和原型1.1对象的三种创建方式–复习1.字面量方式var obj = {};2.new关键字var obj = new Object();3.构造函数方式function Person(name,age){ this.name = name; this.age = age;}var obj = new Person('zs',12);1.2静态成员和实例成员1.2.1实例成员实例成员就是构造函数内部通过this添加的成员 如下列代码中uname age si

2020-06-09 10:32:01 66

原创 JavaScript高级学习笔记(一)

1.面向过程与面向对象1.1面向过程面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。1.2面向对象面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。1.3面向过程与面向对象对比2.对象与类对象是由属性和方法组成的:是一个无序键值对的集合,指的是一个具体的事物属性:事物的特征,在对象中用属性来表示(常用名词)方法:事物的行为,在对象中用方法来表示(常用动词)2.1.1创建对象//以下代码是对对象的复习/

2020-06-08 21:56:43 61

原创 Web API学习笔记(七)

聊天窗口案例思路分析:①点击图片实现用户切换功能1-1:默认两个用户,通过点击来回切换②点击发送按钮,把用户的聊天内容展示聊天区域2-1:点击发送按钮,把聊天内容展示在聊天区域2-2:设定聊天在连天区域内不同位置显示<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>微信聊天窗口</title> <style>

2020-06-08 09:58:03 36

原创 Web API学习笔记(六)

大小和位置相关的属性offset<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> body { margin: 0; } #box { position: relative; width: 300px;

2020-06-07 14:39:50 71

原创 Web API学习笔记(五)

BOMBOM(Browser Object Model) 是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。BOM的顶级对象windowwindow<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>D

2020-06-04 08:54:02 44

原创 Web API学习笔记(四)

1.事件addEventListener<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <input type="button" value="按钮" id="btn"> <!-- <script src="user

2020-06-03 16:15:25 91

原创 Web API学习笔记(三)

1.动态的创建元素document.write()使用document.write()输出内容,会把之前的整个页面覆盖掉<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <h1>标题</h1> <img src

2020-06-02 16:56:58 128

原创 Web API学习笔记(二)

1.样式操作使用style方式设置的样式显示在标签行内开关灯案例common.jsfunction my$(id) { return document.getElementById(id);}<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body&

2020-06-02 12:25:23 96

原创 Web API学习笔记(一)

1.API和Web APIAPI的概念API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。相当于一个工具来用。Web API的概念浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM)此处的Web API特指浏览器提供的API(一组方法),Web API在后面的课程中有其它含义掌握常见浏览器提供的API的调用

2020-05-29 15:33:20 119

原创 JavaScript基础学习笔记(一)

变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据

2020-05-28 13:18:01 48

原创 实现模糊搜索和分类搜索(带分页)

1.直接先看图2.数据库设计3.封装接收的数据VOSearchItemsVOpublic class SearchItemsVO { private String itemId; private String itemName; private int sellCounts; private String imgUrl; private int price; 省略get和set方法......}4.自定义MapperItemsMappe

2020-05-27 11:12:47 262

转载 抽象类与接口的区别

抽象类与接口的区别,这是一个经常被问到面试题,区别主要有以下几点,我们可以从几个方面进行分析:(一) 继承方面:(1) 抽象类只能单继承;接口可以多实现(二) 成员属性方面:(1) 抽象类中可以有普通属性,也可以有常量(2) 接口中的成员变量全部默认是常量,使用public static final修饰,这个可以省略不写(三) 代码块方面:(1) 抽象类可以含初始化块;接口不能含初始化块(四) 构造函数方面:(1) 接口不能有构造函数(2) 抽象类可以有构函数,但是这里的构造函数不是用来

2020-05-24 10:58:29 85

原创 实现商品评价(带分页)

1.效果图2.数据库设计3.封装商品评价VO/** * 用来展示商品的评价数量的VO */public class CommentLevelCountsVO { public Integer totalCounts; public Integer goodCounts; public Integer normalCounts; public Integer badCounts; 省略get和set方法...... }4.自定义MapperIt

2020-05-22 10:59:43 285

转载 JAVA中的委托事件模型

Java自JDK1.1之后采用委托事件模型(delegation event model)。委托事件模型是进行图形用户界面设计的核心,在了解该模型之前,先介绍几个基本概念。1、 事件 事件(event)是指一个状态的改变,或者一个活动的发生。 例如,用户点击窗口关闭按钮,发生窗口关闭事件;用户单击一个按钮,产生动作事件。2、 事件源 发生事件的组件称为事件源。 例如,用户单击窗口关闭按钮是在窗口上发生的事件,所以窗口为事件源;用户单击按钮产生 的动作事件是在按钮上发生的,所以按钮为

2020-05-22 10:23:29 96

原创 教你 SpringBoot 整合 mybatis-pagehelper

1.引入分页插件依赖<!--pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version> </dependency&gt

2020-05-21 13:57:23 57

转载 相对路径和绝对路径的区别

一、绝对路径绝对路径是指文件在硬盘上真正存在的路径。  例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg“。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:<body backround="E:\book\网页布局\代码\第2章\bg.jpg">使用绝对路径的缺点:事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\

2020-05-21 09:23:46 58

原创 对ajax学习

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。Ajax的应用场景1.页面上拉加载更多数据2.列表数据无刷新分页3.表单项离开焦点数据验证4.搜索框提示文字下拉洌表原生的JS实现Ajax我们经常用Ajax封装用JQuery实现Ajax注意:1.JQuery包的引入2.键值对后面记得写“,”3.data请求参数赋值...

2020-05-20 19:17:12 45

原创 商品评价-实现评价等级数据查询

1.直接上图2.数据库设计3.设计商品评价数量等级VO/** * 用来展示商品的评价数量的VO */public class CommentLevelCountsVO { public Integer totalCounts; public Integer goodCounts; public Integer normalCounts; public Integer badCounts; 省略get和set方法...... }4.编写Servic

2020-05-20 15:44:25 302

转载 你真的懂请求参数和路径变量?

1.请求参数1.请求参数是通过表单/URL?后面的参数,如xxxx:8080?name=springmvc&age=6中的name和age就是请求参数2.URL请求参数示例请求地址-请求参数为namehttp://localhost:8888/SpringMVC/main?name=springmvc参数接收-指定和请求参数同样的名称3.当请求参数名和控制器指定名称不一致时将无法取得参数4.可以在控制器的参数中通过**@ReqeustParam**指定URL传递参数名称2.路

2020-05-20 15:16:35 356 1

原创 用poi导出excel(全部导出和选中某处数据导出)

1.导入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.6</version> </depende

2020-05-19 20:15:15 211

原创 商品详情页实现

1.直接上效果图2.数据库设计3.封装VO(因为JSONResult.ok()只能传一个参数,而需求查询是有四个对象参数)注意VO的封装属性要与前端的赋值属性要相同/** * 商品详情VO */public class ItemInfoVO { private Items item; private List<ItemsImg> itemImgList; private List<ItemsSpec> itemSpecList;

2020-05-19 16:21:42 685

原创 推荐商品功能实现

1.直接上图看效果2.数据库表的设计3.创建基础数据类VONewItemsVOpublic class NewItemsVO { private Integer rootCatId; private String rootCatName; private String slogan; private String catImage; private String bgColor; private List<SimpleItemVO>

2020-05-18 11:49:45 305

原创 IDEA中Tomcat热部署

1.按快捷键Ctrl+Alt+S2.选择自动编译3.按快捷键Ctrl+Alt++Shift+S4.5.6.选择带有exploed的7.选择Update classes and resources8.选择Update classes and resources9.选择Update classes and resources这样就完成啦我这里没有安装插件就不会显示有Update classes and resources...

2020-05-18 09:05:02 116

原创 前端简单校验

直接上图<script> function checkForm() { /*alert("aaa00");*/ var c_sname = document.getElementById("s_name").value; var regExp = /^[\u4e00-\u9fa5]+$/ ; if(!c_sname.match(regExp)){ alert("请输入正确的姓名"); return false; }

2020-05-16 14:08:51 119

原创 错误The server cannot or will not process the request due to something that is perceived to be a clien

The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).请求参数不匹配,有可能是你的实体类属性数据类型与你定义的参数类型不匹配...

2020-05-16 09:58:58 148

原创 商品分类实现(一级分类、二级分类和子分类)

1.封装二级分类(CategoryVO)和三级分类(SubCategoryVO)CategoryVOpublic class CategoryVO { private Integer id; private String name; private String type; private Integer fatherId; private List<SubCategoryVO> SubCatList; 省略get和set方法}SubC

2020-05-13 09:56:13 924

转载 教你如何通用Mapper?

什么是通用Mapper?通用mapper 可以极大的方便开发人员进行ORM,提供极其方便的单表增删改查。什么是通用mapper,一句话简单说,它就是个辅助mybatis极简单表开发的组件。它不是为了替代mybatis,而是让mybatis的开发更方便。可以按照自己的需要选择通用方法,还能很方便的开发自己的通用方法。为什么要用通用Mapper?原生Mybatis的痛点1、mapper.xml文件里有大量的sql,当数据库表字段变动,配置文件就要修改2、需要自己实现sql分页,select * f

2020-05-12 16:08:49 73

空空如也

空空如也

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