
后端
文章平均质量分 61
致最长的电影
真正的勇气是上帝给你的一切!
展开
-
【Java基础】Stream 流中 Collectors.toMap 的用法
Collectors.toMap() 方法是把List 转 Map的操作。原创 2023-02-06 15:51:39 · 15155 阅读 · 1 评论 -
【Java】Stream 流常见写法总结
stream 常见用法总结原创 2023-02-03 17:36:59 · 1196 阅读 · 0 评论 -
【SpringBoot】单元测试类发现控制台有插入语句 sql,但是事实没有插入到数据库中的原因及解决办法
自己写了一个 demo,然后在单元测试类中写一个插入语句到数据库中的一个操作,发现控制台正常打印 insert sql 语句,但是在数据库中查询不到该数据单元测试类对插入、修改、删除操作会自动回滚掉,所以你在数据库中查询不到该数据。在单元测试类中添加一个 @Commit 注解就可以了,发现单元测试类可以提交事务了。...原创 2022-06-09 15:00:47 · 2022 阅读 · 0 评论 -
【MyBatis】SpringBoot 和 MyBatis 一级缓存和二级缓存的介绍与代码实践
一、区别 List 是一个接口,而 ArrayList 是 List 接口的一个实现类。ArrayList 类继承并实现了 List 接口。 因此,List 接口不能被构造,也就是我们说的不能创建实例对象。而 ArrayList 就可以被构造。 List list; // 正确 list = nullList<Object> list = new List<>(); // 是错误的用法二、案例List<Object> list = n原创 2022-06-07 17:16:24 · 3104 阅读 · 2 评论 -
【Kafka】SpringBoot 整合 Kafka 以及 @KafkaListener 注解的使用
一、前提已经安装好 kafka我是在 windows 中安装的 Kafka,用于在本地测试用的Windows 安装 kafka二、新建 SpringBoot 项目1、添加项目依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId&原创 2022-05-27 15:59:09 · 9842 阅读 · 3 评论 -
【Java基础】基本类型和包装类的区别
前言Java 一种静态编程语言,所有变量和表达式是在编译时就确定的。同时,Java 又是一种强类型语言,所有的变量和表达式都有具体的类型,并且每种类型是严格定义的。在 Java中共有8种基本类型数据,同时每种基本类型又有对应的包装类。基本数据类型(默认值) 包装类(默认值) 取值范围 byte (0) Byte (null) -128~127 short (0) Short(null) -32768~32767 int (0) Integer..原创 2022-02-09 16:44:24 · 8837 阅读 · 2 评论 -
【Java】Stream流中Optional类的用法
一、概述Optional类主要解决的问题是臭名昭著的空指针异常(NullPointerException),提供了一些的方法代替过去的if-else处理逻辑,并与Stream流结合提供一致性的函数式编程。二、方法static <T> Optional<T> empty() 返回一个空的Optional对象 boolean equals(Object obj) Optional<T> filter(Predicate&l...原创 2022-02-08 14:20:40 · 1615 阅读 · 0 评论 -
【Stream】java8新特性Stream流总结
一、什么是stream 在 java8 中增加了一个新的抽象接口 Stream API,使用 Stream 操作集合类似于使用 SQL 语句数据库查找数据类似,提供直观的方法进行操作。 Stream 将要处理的元素集合看作是一种流,流在管道中传输,并且可以在管道传输过程中对流进行处理,比如筛选、排序、聚合等操作 一个Java8 的stream是由三部分组成的。数据源,零个或一个或多个中间操作,一个或零个终止操作。 中间操作是对数据的加工,注意,中间操作是lazy操作,并不原创 2022-01-28 16:29:26 · 3328 阅读 · 0 评论 -
【es】java使用es中三种查询用法from size、search after、scroll
一、三者之间的区别 from size: 深度分页或者size特别大的情况,会出现deep pagination问题。且es的自保机制max_result_window是10000,当查询数量超过一万就会报错 该查询的实现原理类似于mysql中的limit,比如查询第10001条数据,那么需要将前面的1000条都拿出来,进行过滤,最终才得到数据。(性能较差,实现简单,适用于少量数据) search after search_after缺点是不能够随机跳转分页,只能是一页一页的向后原创 2022-01-26 16:32:11 · 11322 阅读 · 1 评论 -
【es】es修改字段text类型为date类型
一、概述首先说明es中索引的字段类型是不可修改的,只能是重新创建一个索引并设置好映射mapping,然后再将老索引的数据复制过去。二、原索引字段text类型三、操作步骤 创建索引,并指定映射mapping PUT /audit2{ "mappings": { "properties": { "@timestamp": { "type": "date" }, "@version": { "type":原创 2022-01-24 14:02:12 · 5567 阅读 · 2 评论 -
【quartz】定时任务时间在数据库中修改,无需启动服务
一、修改定时任务时间方法update qrtz_cron_triggers set CRON_EXPRESSION='0 */1 * * * ?' where TRIGGER_NAME='myTrigger1';update qrtz_triggers set NEXT_FIRE_TIME=0,PREV_FIRE_TIME=0 where TRIGGER_NAME='myTrigger1';第一条sql语句是更改表qrtz_cron_triggers,原来数据库中该任务是每5分钟执行一次原创 2022-01-06 17:13:45 · 4411 阅读 · 0 评论 -
【elasticsearch】es中document中id的数据生成现象
一、添加数据,不指定id时es会自动生成一个id 添加数据,不指定id时,但是内容是一样的:es中会添加该数据,但是id是不同的二、添加数据,指定id时es会生成自己指定的id添加数据,指定id,又添加一样的id的数据的时候:es中不会重复添加,因为此时es中认为是这个id里面内容的更新(UPDATED)操作,会更新这个id下的内容三、测试代码package com.example.es.test;import com.fasterxml.jack...原创 2021-12-24 16:10:43 · 3426 阅读 · 0 评论 -
【SpringBoot】通用改变状态接口
应用场景:上下架商品,显示隐藏状态改变代码案例:实体类/** 主键 */@NotBlank(message = "主键不能为空!")@ApiModelProperty(value = "主键ID")private String id;/** 状态:0.禁用、1.启用 */@NotNull(message = "状态不能为空!")@ApiModelProperty(value = "状态:0.禁用、1.启用 ")private Integer state;controll原创 2021-05-14 13:46:34 · 1251 阅读 · 0 评论 -
【Mybatis】前端传集合到后台,后台查询到的集合给前端
应用场景:图片(比如填报一个产品,这个产品有很多属性,里面有这种动态的增删改查操作,应该怎么操作),像这种的还有传视频还有图片什么的思路:后端:是再创建一个表,专门存这种动态的数据(数据库表这样,里面存一个产品的id,进行关联产品所有的属性)前端:用户在前端进行填写申报的时候,前端进行动态的传集合数据。如果为空,传空集合postman 测试新增:增查代码案例:实体类//产品实体类,一对多的情况@ApiModelProperty(value = "ID",原创 2021-05-14 10:50:46 · 2469 阅读 · 2 评论 -
【MySQL】find_in_set()函数和group_concat()函数使用
一、使用场景比如有一个大类,大类里面有多个小类,类似于下面这种。这些都是通过后台配置的,先配置小类,然后再配置大类,大类里面再配置相对用的小类。二、数据库表new_product_type 产品类型表CREATE TABLE `new_product_type` ( `id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ID', `name` varchar(255) CHARA原创 2021-04-08 15:16:50 · 451 阅读 · 0 评论 -
【java基础】Arrays.asList 用法
一、作用将数组转化成List集合的方法该方法适用于对象型数据的数组(String、Integer…)该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)不支持add()、remove()、clear()等方法此方法得到的List的长度是不可改变的二、代码案例1、执行会报错,不支持增删改public static void main(String[] args) { List<String>原创 2021-04-02 16:02:46 · 654 阅读 · 0 评论 -
【mybatis】下拉省市区树形查询(两种方法,亲测可用)
一、数据库1、数据库表SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for ums_dic_item-- ----------------------------DROP TABLE IF EXISTS `ums_dic_item`;CREATE TABLE `ums_dic_item` ( `id` varchar(100) CHARACT原创 2021-04-02 14:12:19 · 1171 阅读 · 2 评论 -
【docker-compose】Linux上安装 mysql、redis、rabbitmq、elasticsearch、minio
安装 Docker# 1、卸载旧的版本yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-log原创 2021-03-09 10:38:11 · 500 阅读 · 0 评论 -
【sql server】excel导入数据到sql server数据库中
首先找到 excel 文件点开excel文件,原创 2020-10-15 12:00:15 · 369 阅读 · 0 评论 -
【异常报错】com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.c
在IDEA中,RabbitMQ启动的时候控制台报上面的错误:我的解决办法是:将之前生成的target文件删除,重新启动,然后不报错了原创 2020-08-24 13:59:46 · 1924 阅读 · 0 评论 -
【SpringBoot】Config配置可能用到的注解
> JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成 Bean 装配的 Spring 配置文件,即 Spring 容器,只不过该容器不是 XML文件,而是由程序员使用 Java 自己编写的 Java 类。@Configuration注解的使用 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法 @Compon原创 2020-08-04 17:00:59 · 2858 阅读 · 0 评论 -
【JavaWeb】cookie和session的区别与联系
一、Cookie原创 2020-04-25 22:29:08 · 404 阅读 · 0 评论 -
【Java基础】异常处理机制
一、异常处理机制图示什么是异常?程序在运行中发生了意外的情况,称为异常(Exception),程序一旦出现异常,后面的代码将无法执行,程序终止为了保证后面的代码正常执行,需要对异常进行处理上诉异常处理机制图示结构:Object Throwable Exception 编译时异常 运行时异常 ...原创 2020-03-22 14:51:49 · 2023 阅读 · 0 评论 -
【Java基础】什么是类、什么是对象
一、类与对象的概念1.类类是对具有共性事物的抽象描述,是在概念上的一个定义,是人类实际抽象出来的结果,实际上是不存在的。比如(成绩管理系统:学生类、班级类、课程类、成绩类,这是人类通过智慧定义的名字,是抽象的名字)2.对象//某一个类的对象学生---jack班级---3年2班课程---J2SE成绩---jack成绩以上“jack”、“3年2班”、“J2SE”和“jack成...原创 2020-03-21 17:55:56 · 423 阅读 · 0 评论 -
【Java基础】重载和重写的区别
一、使用“方法的重载机制”和不使用“方法的重载机制”的比较1.不使用“方法的重载机制”,分析程序存在的缺点?package 重载;public class test01 { public static void main(String[] args) { //调用方法 int sumInt = sumInt(1, 2); Syste...原创 2020-03-17 23:32:24 · 168 阅读 · 0 评论 -
【Java基础】多线程的解读
一、多线程的基本概念1.什么是进程一个进程中对应一个应用程序,例如:在windows操作系统启动Word就表示启动了一个进程。在java的开发环境下启动JVM,就表示启动了一个进程,现代的计算机都是支持多进程的,在同一个操作系统中,可以同时启动多个进程。2.多进程有什么作用?单进程计算机只能做一件事情多进程的作用不是提高执行速度,而是提高CPU的使用率进程和进程之间的内存是独立的...原创 2020-02-23 22:51:17 · 302 阅读 · 0 评论 -
【JavaWeb】转发和重定向的区别详解
一、转发和重定向1.请求转发:原创 2020-02-16 16:25:37 · 1158 阅读 · 0 评论 -
【Java基础】HashMap的原理详解
HashMap的数据结构:首先,HashMap中数据的存储是由数组与链表一起实现的。数组是在内存中开辟一段连续的空间,因此,只要知道了数组首个元素的地址,在数组中寻址就会非常容易,其时间复杂度为O(1)。但是当要插入或删除数据时,时间复杂度就会变为O(n)。链表是内存中一系列离散的空间,其插入和删除操作的内存复杂度为O(1),但是寻址操作的复杂度却是O(n)。那有没有一种方法可以结合两者的...原创 2020-02-13 22:52:00 · 374 阅读 · 0 评论 -
【Java基础】抽象类和接口的异同
一.概述一个软件设计的好坏,我想很大程度上取决于它的整体结构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用。面向对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用。既然面向对象设计的重点在...原创 2020-02-07 22:19:13 · 188 阅读 · 0 评论 -
【Java基础】String、StringBuffer和StringBuilder的实现原理和区别
一.简介:用来处理字符串常用的类有3种:String、StringBuffer和StringBuilderString是不可变字符串,字符串的值一旦确定,则不可修改(指内存种的值不可修改)频繁对String进行修改,会在内存种产生很多对象,垃圾数据,特别是当内存种引用的对象多了以后,JVM的GC机制就会开始工作,性能就会降低String类种提供了很多方法,但没有直接增删改等方法如...原创 2020-02-06 19:12:08 · 1294 阅读 · 0 评论 -
【Java基础】Math.round用法
1.Math.round用法java.lang.Math用于数学运算round() 四舍五入floor() 返回小于等于参数的最大整数ceil() 返回大于等于参数的最大整数public class Math用法 { public static void main(String[] args) { System.out.println("Math.round(...原创 2020-02-05 20:43:37 · 2053 阅读 · 1 评论 -
【Java基础】final的详细用法解读
一. final修饰变量1. final修饰基本数据类型变量和引用数据类型变量基本知识:被final修饰的变量,称为常量。常量的值是不可修改的。一般和static一起使用,称为静态常量。常量命名:字母全部大写数据在内存中的存储:java中的内存分为:栈内存和堆内存。特点:栈的存取速度比较快,栈的内存要小于堆内存。基本类型存储在栈空间中,引用类型 栈中的引用指向堆空间基本类型存...原创 2020-02-03 23:01:09 · 1094 阅读 · 1 评论 -
【Java基础】==、equals、hashcode方法详细解读与测试
如果一个变量指向的数据是对象类型,这时候涉及两块内存,对象本身占用一块内存(堆内存),变量也占用一块内存。例如:Object o = new Object(); 变量o占一个内存,new Object()是占另一个内存。通俗来讲:new Object()创造了一个对象,类型是Object,而Object o则创造了一个可以存储Object类型对象引用的“引用存储器”,而等号=则把new Obje...原创 2020-02-02 18:20:36 · 633 阅读 · 0 评论