JPA学习记录
JPA 概述JPA(Java Persistence API)是 Java EE/ Jakarta EE 的官方 ORM 规范,提供了一套标准 API 实现以下功能: 对象关系映射(ORM) 实体生命周期管理 JPQL 查询语言 事务控制 二级缓存支持 這裡支隊 JPA 做一個大概的介紹,因為使用目前主流的 mybatis 或者 hibernate 就可以了 使用第一步,引入依賴並配置 JPA 实体类定义1234567891011121314151617181920212223242526272829303132@Entity@Table(name = "users")public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "username", nullable = false, length = 50) private String u...
ORM学习记录
ORM 核心概念ORM(Object-Relational Mapping,对象 - 关系映射) 是一种编程技术,用于解决 面向对象编程(OOP) 与 关系型数据库(RDB) 之间的 “范式不匹配” 问题。 本质:通过框架自动将 Java 对象(如 User、Order)与数据库表(如 user、order)建立映射关系,开发者无需手动编写 SQL 语句,直接通过操作对象来实现对数据库的 CRUD(增删改查)。 核心目标:消除 “对象模型” 与 “关系模型” 之间的差异,让开发者以面向对象的思维操作数据库,而非面向 SQL 的思维。 在沒有 ORM 時,每次操作数据库都要编写 SQL 语句,以及对象与 ResultSet 的转换逻辑(如 user.setId(rs.getInt(“id”)))。数据库表结构变更时,所有相关的 SQL 和转换代码都需要修改。 **而 ORM 框架封装这些底层细节,解决了上述问题 核心組成 映射規則:定义对象与表、属性与字段的映射关系, 会话管理:提供与数据库的连接会话(如 Hibernate 的 Session、MyBatis 的 SqlSes...
Hibenate校验
在应用开发中,数据校验是保障系统稳定性的关键环节。无论是用户输入的表单数据,还是服务间传递的接口参数,都需要经过合法性校验。Hibernate Validator 作为 Java 领域最流行的数据校验框架,通过注解式编程简化了校验逻辑,让开发者从繁琐的手动判断中解放出来。本文将系统讲解其核心用法与实战技巧。 一、Hibernate Validator 核心概念1.1 什么是 Hibernate Validator?Hibernate Validator 是 Bean Validation 规范(JSR 303/JSR 380)的参考实现,用于对 Java 对象的属性进行合法性校验。它具有以下特点: 基于注解的声明式校验,代码简洁直观 支持自定义校验规则,满足复杂业务场景 与 Spring、Hibernate ORM 等框架无缝集成 可在任何层(表现层、业务层、持久层)使用 1.2 为什么需要数据校验框架?传统手动校验的痛点: 12345678910// 手动校验(繁琐且冗余)public void saveUser(User user) { if (user....
Hibernate学习记录
Hibernate 学习指南1. Hibernate 核心概念与价值1.1 什么是 Hibernate?Hibernate 是一个全自动 ORM(对象-关系映射)框架,它负责 Java 对象与关系型数据库表之间的映射,允许开发者通过操作对象来实现数据库 CRUD,无需手动编写 SQL 语句。 它是 JPA(Java Persistence API)规范的主要实现者,同时提供了远超 JPA 规范的扩展功能。 1.2 为什么选择 Hibernate? 彻底屏蔽 SQL:通过对象操作自动生成 SQL,减少重复劳动 跨数据库兼容:支持 MySQL、Oracle、SQL Server 等,切换数据库无需修改代码 强大的关联映射:轻松处理复杂的对象关系(如订单-商品-用户的多对多关联) 内置缓存机制:一级缓存(Session 级别)、二级缓存(SessionFactory 级别)提升性能 与 Spring 生态无缝集成:在 Spring 项目中可通过@Repository轻松整合 1.3 Hibernate 与其他 ORM 框架的区别 框架 特点对比 适用场景 Hiberna...
Reactor学习记录
在现代 Java 开发中,异步非阻塞编程已成为处理高并发场景的核心能力。Reactor 作为响应式编程的主流实现,不仅是 Spring WebFlux 的底层依赖,更能帮助开发者构建高效、可扩展的数据流处理系统。本文将从基础到实战,全面解析 Reactor 的核心概念与使用方法。 一、什么是 Reactor?Reactor 是一个基于响应式编程范式的 Java 库,严格遵循 Reactive Streams 规范,专注于解决异步非阻塞场景下的数据流处理问题。其核心优势在于: 高效利用系统资源(通过非阻塞 I/O) 天然支持背压(Backpressure)机制 简化异步代码逻辑(避免”回调地狱”) 与 Spring 生态深度集成(如 Spring WebFlux、Spring Cloud Gateway) 二、响应式编程基础2.1 核心思想响应式编程以”数据流”和”变化传播”为核心,主要特点包括: 声明式编程:关注”做什么”而非”怎么做” 异步非阻塞:I/O 操作不阻塞线程,提高资源利用率 事件驱动:基于事件触发数据流处理 背压支持:消费者可向上游反馈处理能力,防止数据溢出 ...
Spring Security学习记录
Spring Security 概述Spring Security 是 Spring 生态中专注于身份认证(Authentication)和授权(Authorization)的安全框架,广泛应用于 Java 企业级应用中,提供了全面的安全解决方案。它不仅能处理传统的用户名密码登录,还支持 OAuth2、JWT、LDAP 等多种认证方式,同时具备细粒度的授权控制、CSRF 防护、会话管理等功能。 核心组件: SecurityContextHolder:用于存储当前认证用户的安全上下文(SecurityContext),是线程安全的。通过它可以在应用任意位置获取当前用户信息 1234// 获取当前用户信息Authentication authentication = SecurityContextHolder.getContext().getAuthentication();String username = authentication.getName(); // 获取用户名Collection<? extends GrantedAuthority> authori...
)
)
)
)
)
