2025年Java学习笔记——MybatisPlus
Mybatis-Plus特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作,BaseMapper
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求,以后简单的CRUD操作,不用自己编写了 !
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 ...
2025年Java学习笔记——SSM学习记录汇总
SSM学习记录汇总SpingSpring概述1.1 简介
Spring : 春天 —->给软件行业带来了春天
2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。
2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。
很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。
Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术
官网 : http://spring.io/
官方下载地址 : JFrog
GitHub : Spring · GitHub
1.2 优点
Spring是一个开源免费的框架 , 容器 .
Spring是一个轻量级的框架 , 非侵入式的 .
控制反转 IoC , 面向切面 Aop
对事物的支持 , 对框架的支持
一句话概括:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。
1.3 组成
Spring 框架是一个分层架构,由 7 个定义良好的模块 ...
2025年java学习笔记——集合部分
概览集合又叫容器
Collection接口,主要用于存放单一元素:List、Set 、 Queue
Map 接口,主要用于存放键值对
List(对付顺序的好帮手): 存储的元素是有序的、可重复的。
Set(注重独一无二的性质): 存储的元素不可重复的。
Queue(实现排队功能的叫号机): 按特定的排队规则来确定先后顺序,存储的元素是有序的、可重复的。
Map(用 key 来搜索的专家): 使用键值对(key-value)存储,类似于数学上的函数 y=f(x),”x” 代表 key,”y” 代表 value,key 是无序的、不可重复的,value 是无序的、可重复的,每个键最多映射到一个值。
ListArrayList
Vector
LinkedList JDK6之前是循环列表,现在是双向链表
SetHashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素。
LinkedHashSet: LinkedHashSet 是 HashSet 的子类,并且其内部是通过 LinkedHashMap 来实现的。
TreeSet(有序,唯一 ...
SpringBoot图片上传的奇妙冒险
SpringBoot图片上传的奇妙冒险S3和OSS的核心区别:
价格:OSS在国内的价格通常比S3低20%-30%(特别是流量费用)
速度:OSS在国内的访问速度明显快于S3(毕竟服务器在国内)
合规性:OSS更符合中国的数据合规要求
集成:OSS与阿里云其他服务(如CDN)的集成更顺畅
与本地上传相比的优势:
不用操心服务器磁盘空间问题
天生具备高可用性和灾备能力
轻松实现CDN加速
无需自己处理图片缩略图等常见需求
下面就来开启我们的”本土化”奇妙冒险吧!
第一步:导入依赖1. 创建Bucket登录阿里云控制台,进入OSS服务,创建一个Bucket。记住这几个关键配置:
地域:选离你用户最近的(如华东1)
存储类型:标准存储就行
读写权限:先设私有,后面用STS临时令牌更安全
2. 获取AccessKey在RAM访问控制中创建用户,记得保存:
AccessKey ID
AccessKey Secret
第二步:SpringBoot装备库1. 添加依赖12345678910111213<!-- OSS官方SDK --><dependency> ...
JWT 是什么?如何用?
JWT 是什么?如何用?一、JWT 是什么?(通俗版)想象你去游乐园玩,买票后会得到一个手环(Token)。这个手环上有你的信息(用户ID、购买时间等),工作人员只需要看一眼手环(验证Token)就知道你是否能玩某个项目,而不用每次都查你的购票记录(查数据库)。
JWT(JSON Web Token) 就是这样一个数字手环,它有三个主要特点:
自包含:令牌本身就包含用户信息(不用总查数据库)
可验证:服务器可以验证令牌是否被篡改
有有效期:像食品保质期一样,过期就失效
二、JWT 的组成结构一个JWT通常长这样:xxxxx.yyyyy.zzzzz
它实际由三部分组成(用点分隔):
Header(头) - 说明令牌类型和签名算法
1234{ "alg": "HS256", // 签名算法 "typ": "JWT" // 令牌类型}
Payload(负载) - 存放实际数据(用户ID等)
12345{ "userId": "12 ...
Java面经刷题_Day1
Java面向对象有哪些特性?
封装、继承、多态
封装:说明一个类的行为和属性与其他类关系。增加代码的可维护性,便于修改,隐藏了类的内部实现机制。
继承:父类和子类的关系。从已有类派生出新的类,增强代码的复用性。
多态性:继承、重写、父类引用指向子类对象。说明的是类与类的关系。
为什么这些特性能帮我们写更好的代码?
封装:使代码能够重复使用,增加代码的复用性
继承:也是增加代码的复用性
多态:增强代码的可移植性、鲁棒性
Show Me The Difference(from Alibaba)1234567891011121314151617181920212223//以下代码有什么不同?//代码1final class Accumulator{ private double result=0.0D; public void addAll(double[] values){ for(double value :values){ result+=value; ...