自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是关系型数据库?什么是非关系型数据库?

关系型数据库适用于对数据一致性要求较高、数据结构较为固定、需要进行复杂查询和事务处理的场景;非关系型数据库则适用于处理大规模、高并发、非结构化或半结构化数据,以及对扩展性和性能要求较高的场景。

2025-02-20 10:43:33 810

原创 transactional只能控制主线程的事务的原因

事务注解

2025-01-20 14:08:47 441

原创 代码中使用 Iterable<T> 作为方法参数的解释

这种方式在需要将单个元素作为集合传递给接收集合参数的方法时非常有用,可以保证代码的通用性和类型安全。可以避免创建不必要的大型集合,对于只包含一个元素的情况,可以提高性能和资源利用率。这使得代码更加简洁和易于阅读,并且可以利用Java8及以上版本的新特性。类型,并将其视为一个包含一个元素的可迭代集合。这个可迭代集合中,其内部可以看作是包含一个元素的集合,类似于。是不可变的,后续无法向这个集合中添加其他。是不可变的,即不能添加或删除元素。,应该使用其他的集合创建方法,如。,其大小为1,且这个。

2025-01-18 09:31:28 945

原创 idea中远程调试中配置的参数说明

远程调试中配置的端口和参数

2025-01-17 09:51:05 819

原创 SpringBoot的自动装配原理 简化通俗版

Spring Boot 的自动装配就像是一个智能的电脑组装助手,它通过启动器为你提供不同的配置套餐,使用自动配置类和条件装配来自动配置各种组件,最后通过依赖注入将它们连接起来,让你可以轻松地开发应用程序,而不用自己去手动配置各种繁琐的组件啦。这样,你就可以专注于开发应用程序的核心功能,而不是花费大量时间在配置和组装上,大大提高了开发效率,就像你只需要使用电脑,而不用关心电脑是怎么组装的一样。

2024-12-27 11:58:06 1043

原创 @Repository注解和@mapper的区别

职责范围它的职责更广泛,主要是从概念上表示一个数据存储库,通常用于传统的 Spring 数据访问对象(DAO),可能包含更复杂的数据操作逻辑,如处理事务、异常处理等。它更像是一个管理仓库的人员,除了基本的数据存储和检索,还可能处理一些其他的事情,比如检查仓库的状态、协调货物的运输等。@Mapper主要侧重于接口和 SQL 语句的映射,它就像一个翻译官,只是把 Java 代码和 SQL 语句进行转换,让 Java 代码可以直接操作数据库。它的主要任务就是将接口方法翻译成 SQL 语句,以便对数据库进行操作。

2024-12-27 11:16:42 688

原创 Spring 容器与配置类

首先,我们可以把 Spring 容器想象成一个大管家,这个大管家负责管理家里的各种物件(也就是我们在应用程序中使用的对象,在 Spring 中叫 Bean)。它知道每个物件放在哪里,也会帮你找到它们,并且能把它们分配给需要的人(也就是在 Spring 中,把对象注入到需要的类中)。

2024-12-27 11:07:49 686

原创 @RequestParam和@PathVariable的解释与区别

参数位置获取的参数在 URL 的查询字符串中,以key=value的形式存在;获取的参数是 URL 路径的一部分。使用场景:如果参数是可选的、用于过滤或搜索等操作,通常使用;如果参数是用于定位特定资源,作为资源标识的一部分,通常使用。例如,获取某个用户的详细信息,用户 ID 是唯一标识这个用户资源的,适合用;而如果是要筛选出某个年龄段的用户,年龄参数可以作为查询参数,适合用。

2024-12-26 22:20:53 1120

原创 为什么推荐使用构造函数注入而非@Autowired注解进行字段注入

在 Spring 框架中,推荐使用构造函数注入而非@Autowired。

2024-12-26 21:47:03 779

原创 请求从query或body传参数的区别

【代码】请求从query或body传参数的区别。

2024-12-14 15:10:32 720

原创 单表冗余字段查询与多表无冗余字段联合查询的适用场景

一.单表冗余字段查询的适用场景 频繁关联查询场景 当在业务中经常需要同时获取多个关联表中的特定数据,并且这些关联查询的频率非常高时,使用单表冗余字段是一个不错的选择。例如,在一个电商系统中,用户信息表和用户收货地址表是关联的,每次查看用户订单详情(包括用户基本信息和收货地址)都需要进行关联查询。如果把收货地址中的主要字段(如收货地址、收件人姓名、联系电话)冗余到用户信息表中,就可以在查询订单详情时,通过单表查询用户信息表快速获取所有需要的信息,减少了频繁的多表关联操作,提高查询效率。 简

2024-12-13 09:40:00 699

原创 Freemarker入门解释 通俗简易版

首先,你需要在你的项目中添加 Freemarker 的依赖。如果是 Maven 项目,你要在pom.xml你可以创建一个.ftl(Freemarker 模板文件)文件,比如叫。在这个文件中,模板中的插值表达式最终会被freemarker替换成具体的数据。${orderId}<#list>首先,你要创建一个对象,这是 Freemarker 的核心配置对象。

2024-12-06 09:43:35 845

原创 Inner Join 和 Left Join/Right Join的区别

定义:内连接(Inner Join)返回两个表中满足连接条件的记录。特点:只返回两个表中匹配的记录。如果某个表中的记录在另一个表中没有匹配项,则不会返回这些记录。

2024-12-06 09:12:29 600

原创 GrantedAuthority 和 SimpleGrantedAuthority 详解

SpringSecurity

2024-12-05 14:31:30 693

原创 @RequestParam 和 @PathVariable 的区别

RequestParam:从请求的查询参数或表单数据中提取。@PathVariable:从请求的 URL 路径中提取。

2024-12-05 12:52:23 731

原创 模板下载接口撰写和代码编写示例

接口URL:GET http://172.16.29.241:8080/ordersetting/download?

2024-12-05 12:44:52 762

原创 RuoYi-Vue若依前后端分离版本的功能 举例 解释之系统管理

RBAC(基于角色的访问控制)是一种广泛使用的访问控制模型,通过角色来分配和管理用户的菜单权限。举个例子:RBAC 就像一个学校。在学校里有不同的角色,比如校长、老师、学生。总之,RBAC 这种基于角色的访问控制模型,就是通过先定义好不同的角色(就像学校里的校长、老师、学生),然后把用户分配到这些角色中,这样用户就自动获得了对应角色的菜单权限啦。

2024-12-01 19:33:58 1772

原创 RuoYi-Vue若依前后端分离版本使用步骤举例简述以及配置代码的说明

实现课程管理功能,涵盖增加、删除、修改和查询课程信息的完整前后端代码。

2024-12-01 15:55:59 523

原创 Apache POI

通过Java代码就可以读写Microsoft Office各种文档的开源项目, 一般情况下,POI 都是用于操作 Excel 文件。

2024-11-30 21:48:36 611

原创 Stream流的reduce方法

reducereduce在 Java 中,如果有一个Stream流,例如或者等(即元素是基本数据类型对应的包装类型),可以使用reduce方法来求和。例如,有一个reducereducereduceOptionalOptionalOptionalisPresentget。

2024-11-29 13:23:43 689

原创 Apache ECharts与后端数据统计实现步骤

Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。

2024-11-29 11:10:26 2009

原创 WebSocket:客户端与服务端双向信息传输

WebSocket 是基于 TCP 的一种新的。像HTTP,客户端跟服务器的交互,咱们是不是就可以基于HTTP来进行交互?首先我们客户端浏览器可以发送一个请求,也就是一个request,那么这个请求就可以请求到我们这个服务器, 服务器接收到这个请求之后,它就可以进行相应的处理,之后就可以给浏览器一个响应,也就是一个response,那么这其实就是一个请求与响应的过程。客户端浏览器跟我们这个服务器它的交互的顺序,一定是客户端先发送一个请求,然后服务器才能给他一个响应,这个顺序能颠倒过来吗?肯定是不可以的。

2024-11-28 19:16:13 683

原创 Spring Task

秒、分钟、小时、日、月、周、年(可选)

2024-11-28 14:40:11 589

原创 Stream:***.stream().map()

stream

2024-11-27 20:44:26 648

原创 今日出现的代码错误(上)

BeanUtils与分页查询

2024-11-27 18:47:57 303

原创 登录认证:JWT令牌

将原始的json数据格式进行了安全的封装,可以在请求参数或者是请求头当中直接传递 的字符串。

2024-11-26 22:02:16 391

原创 关于Ⅰ项目及项目中涉及的问题与解决方法/思路(上)

需求分析→设计→编码→测试→上线运维①需求分析:根据规格说明书(文档显示)、产品原型(网页 html形式)-----产品经理②设计:前端+后端(数据库+接口)-----UI设计师+架构师Yapi -----管理和维护接口③开发工程师④swagger:用于接口的文档在线自动生成使用步骤:导入 knife4j 的maven坐标在pom.xml中添加依赖在配置类中加入 knife4j 相关配置@Bean.title("标题").version("版本")

2024-11-26 21:30:35 2038

原创 HttpClient

应用程序访问服务需要发送HTTP请求,并且接收响应数据,可通过HttpClient来实现。CloseableHttpClient:实现类,实现了HttpClient接口。HttpClient:Http客户端对象,发起Http请求。HttpClients:创建HttpClient对象。调用HttpClient的execute方法发送请求。HttpPost:Post方式请求类型。HttpGet:Get方式请求类型。创建HttpClient对象。创建Http请求对象。

2024-11-26 21:00:25 215

原创 Redis简介

Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:字符串 string哈希 hash列表 list集合 set有序集合 sorted set / zset其他以后再补充。

2024-11-26 20:27:52 465

原创 AOP(面向切面编程/面向特定方法编程)总结

AOP面向切面编程

2024-11-26 19:59:39 663

原创 面向对象与对象

程序是由许多对象组成。对象实质上是一种特殊的数据结构。对象就像是一个具体的事物,它有自己的属性(比如一个人的年龄、身高)和行为(比如一个人可以跑步、说话)。通过操作这些对象来让软件运行,这就是面向对象。①其中构造器:用来创建对象,分有参和无参(默认),后期用@NoArgsConstructor代替无参构造;用@AllArgsConstructor代替有参构造②后期用@Data代替get,set方法。

2024-11-26 15:15:29 258

原创 Java基础:方法

JavaSE基础

2024-11-26 14:53:31 411

空空如也

空空如也

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

TA关注的人

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