
笔记
文章平均质量分 58
于小猿
这个作者很懒,什么都没留下…
展开
-
stream().filter()的用法
stream().filter()的用法。原创 2023-03-13 18:41:35 · 1625 阅读 · 0 评论 -
枚举类中通过key获取value,通过value获取key
在外部直接使用CardStatusEnum.getCodeMethod()方法,传入value,就能获取相应的code,使用CardStatusEnum.getDescMethod()方法,传入key,就能获取相应的desc。原创 2023-02-17 20:52:14 · 1867 阅读 · 0 评论 -
数据库字段类型、实体类字段类型、mapper文件jdbcType三者对应关系
数据库字段类型、实体类字段类型、mapper文件jdbcType三者对应关系。原创 2022-07-23 18:56:19 · 1767 阅读 · 0 评论 -
@Param注解的用法
@Param注解是为SQL语句中参数赋值的。@Param的作用就是给参数命名,比如在mapper里面某方法List selectCardInfoByClientNo(String cNo);当添加注解后:List selectCardInfoByClientNo(@Param("clientNo") String cNo);也就是说外部想要取出传入的id值,只需要取它的参数名 clientNo 就可以了。将参数值传入SQL语句中,通过#{clientNo}进行取值给SQL的参原创 2022-06-28 17:07:53 · 2214 阅读 · 0 评论 -
Java中判断是否为空的几个工具类
首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:从上面的例子可以看出第二种的StringUtils类更实用。 基本上判断对象是否为空,StringUtils.isEmpty(Object str)这个方法都能搞定。判断是否相等:// 这种写法本身没有错,但是会有一个问题,就是没有判断name是否为空,当nam原创 2022-06-15 14:45:00 · 9923 阅读 · 0 评论 -
Apollo分布式配置中心 - 服务中间件
一、概念1、什么是配置?应用程序在启动和运行的时候往往需要读取一些配置信息(可以理解为系统参数),配置基本上伴随着应用程序的整个生命周期,比如:数据库连接参数、启动参数等。配置主要有以下几个特点:1)配置是独立于程序的只读变量① 配置首先是独立于程序的,同一份程序在不同的配置下会有不同的行为。② 配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置。2)配置伴随应用的整个生命周期① 配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在原创 2022-05-18 14:47:43 · 1610 阅读 · 0 评论 -
ElasticSearch 总结
ElasticSearch将需要存储的数据分为:结构化数据、非结构化数据、半结构化数据结构化数据一般为二维的表结构,比如一张表包含了用户的姓名性别年龄等信息。(一般保存到关系型数据库中,如 MySQL)非结构化数据 是无法用二维表结构表现数据的一种数据,比如服务器日志、工作文档、报表、视频音频图片等。(一般保存到 NOSQL 数据库中,如 Redis、HBASE(以 key、value 结构保存数据))半结构化数据 是将数据的结构和内容混在一起,比如 xml 文件、html 文件(一般保存.原创 2022-03-17 23:09:42 · 3356 阅读 · 0 评论 -
1、搭建完整项目工程结构、使用代码生成器开发租房管理模块、整合Swagger进行接口测试、增删改查分页、自动填充封装、统一返回结果、统一异常处理、统一日志处理
1、创建父工程rent_parent2、把父工程中pom.xml文件中的版本改为2.2.1,并把父工程的类型改为pom类型(加上<packaging>pom</packaging>)3、引入相关依赖<properties> <java.version>11</java.version> <rent.version>0.0.1-SNAPSHOT</rent.version> &原创 2021-07-05 14:51:13 · 420 阅读 · 0 评论 -
JVM介绍、JVM调优(堆内存调优)、类加载器、双亲委派机制、native、栈、堆、垃圾回收机制、GC算法
1、JVM 的位置:JVM 运行在操作系统之上,JVM 也是一个软件,Java 文件就在这层软件上执行。2、JVM 的体系结构(简图):JVM 调优:就是解决垃圾回收,主要在堆中,方法区是特殊的堆,因此 JVM 调优就是调堆。本地方法栈:Native Method Stack,登记 native 方法,在最终执行的时候,通过本地方法接口(JNI)加载本地方法库中的方法3、类加载器:作用:加载 Class 文件进内存类加载器又分为几种:①虚拟机自带的加载器②启动类(原创 2021-04-15 08:24:39 · 743 阅读 · 2 评论 -
SpringBoot项目中自己编写SQL语句并调用
第一步:在 mapper 的接口中定义方法(使用到的PublishVo对象需要自己定义):第二步:在 mapper 对应的 xml 文件中写 SQL 语句:注意:xml 文件中 select 标签的 id 属性就是上一步在 mapper 接口中定义的那个方法名,resultType 就是返回的类型,在上一步的 mapper 接口中的返回类型是自定义的实体类型 PublishVo,因此就写上实体类 PublishVo 的全路径。SQL语句的条件值要使用#,不能使用$,因为$会产生SQL注入问题原创 2021-04-11 17:13:24 · 10714 阅读 · 4 评论 -
Nginx的介绍、功能、下载安装和使用
1、什么是Nginx?Nginx就是一个反向代理服务器。2、Nginx的功能(三个常见的功能)(1)请求转发简单来说,请求转发就是从客户端发过来一个请求,先发给Nginx服务器,Nginx再转发到另外一个服务器。更具体:通过客户端或者浏览器发送一个请求,这个请求首先到的不是Tomcat服务器中的接口,而是首先到达Nginx服务器,Nginx服务器会根据发送过来的请求,再转发到不同的服务中去,比如转发到8001端口的service服务,或者转发到8002端口的oss服务。这个过程就原创 2021-03-05 17:24:17 · 502 阅读 · 1 评论 -
axios发送ajax请求
1、axios是一个独立的部分,不是vue中的一部分,但是经常将axios和vue一起使用,实现ajax操作。2、使用场景3、使用步骤①、创建HTML页面,引入js文件,包含两个js文件,vue和axios②、创建一个json文件,写一段json代码,用于后面的调用{ "success":true, "code":20000, "message":"成功", "data":{ "items":[ {"nam原创 2021-02-17 08:24:27 · 527 阅读 · 1 评论 -
简单免费下载vue-router.js和vue-router.min.js文件
下载 vue-router.js 文件:https://unpkg.com/vue-router@3.5.1/dist/vue-router.js直接 Ctrl+S 保存即可。下载 vue-router.min.js 文件:https://unpkg.com/vue-router@3.5.1/dist/vue-router.min.js直接 Ctrl+S 保存即可。原创 2021-02-16 08:30:43 · 9234 阅读 · 4 评论 -
整合swagger进行接口测试
一、Swagger2 介绍在前后端分离开发模式中,API文档是最好的沟通方式。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 能够生成一个在线的接口文档,可以看到文档中的接口有什么功能、里面需要传递哪些参数、返回的数据。方便测试接口。特点:1、及时性(接口变更后,能够及时准确地通知相关前后端开发人员)2、规范性(保证接口的规范性,如接口的地址、请求方式、参数及响应格式和错误信息)3、一致性(接口信息一致,原创 2021-02-11 15:19:12 · 10011 阅读 · 1 评论 -
MybatisPlus的性能分析插件
MybatisPlus提供了一个性能分析插件,该插件可以检测出每条SQL语句的执行时间,我们可以根据SQL语句的执行时间判断项目运行的效率,对执行时间长的(效率低的)SQL语句进行改进,以对项目进行一个优化。可以看下面这个视频:https://www.bilibili.com/video/BV1r541147cZ?p=16...原创 2021-01-08 22:18:14 · 302 阅读 · 0 评论 -
MybatisPlus实现物理删除和逻辑删除(重点:逻辑删除)
首先看一下数据库中表的数据:物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除数据1、根据 ID 删除记录//根据ID删除记录(物理删除)@Testpublic void testDeleteById(){ int result = userMapper.deleteById(1L); System.out.println(result);}运行,看数据库中 user 表中 id 为 1 的数据是否被删除2、批量删除//批量删除原创 2021-01-08 22:09:52 · 23417 阅读 · 8 评论 -
MybatisPlus实现分页
MyBatisPlus 自带分页插件,只要简单的配置即可实现分页功能:数据库中表的数据:1、添加分页插件package cn.henu.config;import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;import org.mybatis原创 2021-01-08 21:00:58 · 3777 阅读 · 0 评论 -
MybatisPlus实现乐观锁
乐观锁是针对某种问题的解决方案,主要解决丢失更新问题。如果不考虑事务的隔离性,就会产生几种读的问题:脏读、不可重复读、幻读(虚读)如果不考虑事务的隔离性,也会产生写的问题:丢失更新问题(在并发情况下才有的问题)事务的隔离性就是指在两个及以上的用户同时对同一个数据进行操作时所产生的问题。什么是丢失更新?多个人同时修改同一条记录,在这个过程中,谁最后提交事务,就会把之前的人提交的数据进行覆盖,这个过程就叫做丢失更新。解决方案:1、悲观锁(一般不用)悲观锁的特点就是..原创 2021-01-08 17:54:55 · 3658 阅读 · 0 评论 -
创建SpringBoot项目,使用MybatisPlus实现CRUD操作、自动填充
自动填充:不需要原始的手动添加 set 方法实现数据的填充,而是使用 MybatisPlus 的自动填充功能实现数据的添加首先看一下表的结构:再看一下表的数据:一、原始方式(手动添加):1、在表中添加两个字段:create_time(创建时间)和 update_time (修改时间)添加之后的表结构:添加之后的表数据:2、在实体类中添加这两个属性package cn.henu.domain;import com.baomidou.mybatis...原创 2021-01-08 11:01:49 · 646 阅读 · 0 评论 -
主键生成策略
1. 数据库自增长序列或字段在创建表时使用MySQL的关键字 AUTO_INCREMENT 实现主键自动增长(每次加1)优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对分页或者需要排序的结果很有帮助。缺点:1)不同数据库语法和实现不同,数据库迁移的时候或多数据库版本支持的时候需要处理。2)在单个数据库或读写分离或一主多从的情况下,只有一个主库可以生成。有单点故障的风险。3)在性能达不到要求的情况下,比较难于扩展。4)如果遇见多个系统需要合并或者涉及到.转载 2021-01-07 23:41:54 · 302 阅读 · 0 评论 -
Umijs 的安装部署及快速入门
部署安装1、首先需要安装 node.js2、安装 yarn,其中 tyarn 使用的是 npm.taobao.org 的源,速度要快一些#安装 yarnnpm i yarn tyarn -g #-g 是指全局安装#查看tyarn的版本tyarn -v#安装umityarn global add umi#测试 umi当使用 tyarn -v查看 tyarn 的版本时,可能会出现下面问题:出现这种问题其实已经安装成功了,只是没有将 yarn 添加到系统的环境变量中,.原创 2021-01-07 21:04:42 · 4422 阅读 · 2 评论 -
ES6新特性:let 和 const 命令
var之前,我们在写 js 定义变量的时候,只有一个关键字:var但是,var 有一个问题,就是定义的变量有时候会莫名其妙的成为全局变量。例如:for (var i = 0; i < 5; i ++){ console.log(i);}console.log("循环外:" + i);运行打印的结果如下:可以看出,使用 var 定义变量时,它的作用域是不可控的,在循环外部也可以获取到变量的值,显然变量的作用域范围太大了。letlet 所声明的变量,只在.原创 2021-01-06 22:16:52 · 186 阅读 · 0 评论 -
搭建 SpringBoot 项目(快速方法)
1、New 一个 Module2、选择 Spring Initializr3、命名4、 选择 Web,勾选 Spring Web(现在只是一个简单的搭建环境,以后开发中需要勾选很多选项)5、给模块命名6、 创建成功之后的效果跟用普通方法创建的一样坐标也是自动导入:7、运行...原创 2020-12-14 11:30:47 · 290 阅读 · 0 评论 -
搭建 SpringBoot 项目(普通方法)
1、首先创建一个文件夹,命名为 SpringBoot,复制该文件夹的位置2、 点击 File ,点击 Open3、打开 SpringBoot4、鼠标右键,New 一个 Module5、选择 maven,选择 jdk 版本6、给模块命名7、创建成功之后的页面8、添加 SpringBoot 的起步依赖SpringBoot要求,项目要继承 SpringBoot 的起步依赖 spring-boot-starter-parent <!-...原创 2020-12-14 10:30:49 · 432 阅读 · 0 评论 -
下载 axios.js 文件到本地
1、百度搜索 GitHub 官网:https://github.com/2、搜索 axios3、点击 axios/axios4、下载到本地5、解压,进入到 dist 文件夹自己下载,不求人。原创 2020-11-19 11:09:43 · 31678 阅读 · 11 评论 -
使用 IDEA 创建工程,并在工程中通过 npm 安装下载 vue.js
首先需要在电脑上安装nodejs,因为nodejs中已经内置了npmnpm的下载安装:https://blog.youkuaiyun.com/YyjYsj/article/details/109669338打开IDEA,创建工程1、创建一个新的工程选择 Static Web命名,点击完成2、安装 vue2-1、下载安装 vue.js下载地址:https://github.com/vuejs/vue 可以下载 2.6.12 版本:https://github.com/v..原创 2020-11-13 15:00:12 · 1679 阅读 · 0 评论 -
什么是 npm ?npm 下载安装使用
今天在学习 vue 的时候了解到了一个软件包管理工具 npm,当时不知道这是什么工具,就百度了一下,并且学习了如何使用,觉得需要写下来记录一下,方便以后使用npm 的全称是 Node Package Manager,是一个 NodeJS 包管理和分发工具,也就是说,npm 是用来管理软件包的使用:1、要使用 npm 这个软件包管理工具,需要在电脑上安装 nodejs,因为 nodejs 软件内置了 npm,下载地址为:http://nodejs.cn/download/根据自己的需要下载:原创 2020-11-13 10:58:56 · 2437 阅读 · 0 评论 -
基于 maven 构建 SSM 工程(能运行)
1、搭建数据库环境1-1、创建数据库 ssmweb1-2、创建商品表 item1-3、插入一条数据,用于后续测试使用SQL 语句:create table item( id int not null auto_increment, name VARCHAR(255) DEFAULT null, price FLOAT DEFAULT NULL, createtime datetime DEFAULT null, detail VARCHAR(255) DEFAUL原创 2020-11-05 14:21:32 · 444 阅读 · 0 评论 -
MyBatis 的 配置文件开发方式 和 注解开发方式(对数据库进行增删改查)
代码较多,请耐心看完,一定能学会!!!首先不使用注解方式把环境配置好:1、目录结构:2、根据数据库中的 user 表,写一个 user 的实体类 (cn.henu.domain.User.java)package cn.henu.domain;import java.util.Date;public class User { private int id; private String username; private String password;原创 2020-11-03 16:31:27 · 533 阅读 · 0 评论 -
MyBatis 的多表操作:一对一、一对多、多对多
一对一:一个订单只能属于一个人一对多:一个人可以有多个订单多对多:一个人可以有多个角色,但这些角色也可以被其他人拥有一对一:一个订单只能属于一个人order 表结构:user 表结构:1、首先根据数据库中的 order 表创建 order 的实体类,并在order的实体类中添加一个 user 字段package cn.henu.domain;import java.util.Date;public class Order { private int i.原创 2020-11-03 14:06:24 · 1276 阅读 · 1 评论 -
MyBatis 集成分页插件
MyBatis 可以使用第三方的插件来对功能进行扩展,分页助手 PageHelper 是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据。开发步骤:①首先配置环境②导入通用 PageHelper 的坐标③在 mybatis 核心配置文件中配置 PageHelper 插件④测试分页数据获取1、首先在持久层写一个查询全部信息的方法 findAll()package cn.henu.mapper;import cn.henu.domain.User;import原创 2020-11-02 13:02:27 · 723 阅读 · 0 评论 -
IDEA 搭建 Spring 项目环境
1、首先创建一个项目或者模块2、 使用模板3、 命名4、 点击完成5、默认打开 pom.xml 文件6、在 pom.xml 中导入坐标<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem.原创 2020-10-30 17:19:15 · 602 阅读 · 0 评论 -
Spring 配置数据源(包括手动配置、加载 properties 配置文件)
数据源实际上就是学过的数据库连接池数据源(连接池)的作用:①提高程序性能②事先实例化数据源,初始化部分连接资源③使用连接资源时从数据源中获取④使用完毕后将连接资源归还给数据源步骤:1、在 pom.xml 文件中导入坐标<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector原创 2020-10-24 00:16:17 · 5465 阅读 · 2 评论 -
基于 maven 构建 Spring 项目
1、首先 new 一个空的项目2、给项目命名,点击“完成”3、新建模块注意:选择➕号,添加一个参数,这个参数的作用就是当我们创建一个工程的时候,maven会自动从中央仓库下载很多的插件,这会导致创建时变得有些慢,加了这个参数之后就能够使用本地的插件,就会快速的创建项目。4、创建成功5、补全文件夹分别双击 java 和 resources6、先把 pom.xml 文件配置一下(一般都是复制粘贴,不需要自己手动配置)<properti...原创 2020-10-23 21:34:14 · 431 阅读 · 0 评论 -
maven的一键构建、标准项目结构、常用命令
1、Maven的一键构建我们不再使用本地的Tomcat对项目进行编译、测试、运行、打包、安装、部署等一系列过程,而是使用maven自身集成的Tomcat插件来完成这些操作的过程,这就是maven的一键构建。原创 2020-10-21 13:47:36 · 747 阅读 · 0 评论 -
redis 详细介绍、下载安装和使用
1、redis介绍redis是一款特殊的数据库软件,它是一款高性能的NOSQL系列的非关系型数据库。原创 2020-10-20 15:13:12 · 868 阅读 · 1 评论 -
简单理解 ObjectMapper 中 writeValue() 和 writeValueAsString() 的区别
将对象转为json字符串时可以使用ObjectMapper中的两个方法:writeValue(参数,obj):直接将传入的对象序列化为json,并且返回给客户端writeValueAsString(obj):将传入的对象序列化为json,返回给调用者...原创 2020-10-18 15:13:20 · 10268 阅读 · 0 评论 -
JSP 页面中引入 Iconfont 图标 - 详解
1、进入阿里巴巴 Iconfont 图标官网:https://www.iconfont.cn/2、在搜索框中搜索需要的图标,比如 :对勾3、将自己需要的添加入库4、 点击自己的图标库5、选择添加至项目6、点击下载至本地7、下载后解压8、不知道哪个有用哪个没用,就全部复制粘贴到项目中9、 新建一个JSP页面,在页面中引入CSS文件<link rel="stylesheet" href="../fonts/iconfont.css">...原创 2020-10-18 00:36:22 · 4039 阅读 · 3 评论 -
官网下载最新版 jedis 的 jar 包
1、Jedis 是一款java操作redis数据库的工具2、下载 jedis 的 jar 包(可以选择自己需要的版本)3、下载链接:https://mvnrepository.com/artifact/redis.clients/jedis4、点击:jar 即可下载5、导入到项目中的 lib 目录下即可...原创 2020-10-15 18:39:54 · 8083 阅读 · 0 评论 -
官网下载最新版 commons-pool2 的 jar 包
当使用jedis连接池时需要创建一个配置对象,就需要在项目中导入commons-pool2 的 jar 包官网下载连接:http://commons.apache.org/proper/commons-pool/download_pool.cgi下载下来之后解压,将commons-pool2-2.9.0.jar 放在项目中的 lib 目录下即可...原创 2020-10-15 18:34:41 · 4997 阅读 · 3 评论