自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot 项目新建的五种方式详细笔记

方式核心特点适用场景优点缺点IDEA+Spring 官方可视化、自动配置、官方标准主流本地开发便捷、标准、依赖适配国内网络可能卡顿Spring 官网压缩包纯网页、离线可用、官方标准无 IDE、离线开发无环境依赖、跨平台需手动解压 / 导入IDEA + 阿里云国内快、阿里云生态适配国内开发、阿里云项目访问快、云生态友好依赖偏向阿里云生态阿里云官网压缩包国内快、纯网页、阿里云适配无 IDE、国内离线、阿里云项目访问快、云生态友好需手动解压 / 导入。

2026-01-04 20:11:02 884

原创 阿里云OSS文件上传案例

前端请求:通过表单或 AJAX 提交文件和文件名参数校验:控制器检查文件是否为空、文件名是否存在OSS 上传工具类处理文件路径和名称通过 OSS 客户端将文件流上传到指定 Bucket生成外网可访问的文件 URL数据持久化将文件 URL、名称、标识等信息存入数据库返回包含文件信息的成功响应异常处理:任何环节出错时返回错误信息。

2025-12-17 09:50:20 294

原创 Gitee-ssh推送本地代码到 Gitee

SSH 密钥:公钥(.pub)上传到 Gitee,私钥保存在本地,用于免密认证;Git 三区域:工作区(本地文件)→ 暂存区(git add)→ 本地仓库(git commit)→ 远程仓库(git push分支冲突:本地与远程无共同提交历史时,需合并或强制推送;命令规范:Git/SSH 命令严格区分大小写、空格(如ssh-keygen无空格、-C大写)。

2025-12-12 18:42:41 767

原创 Git 从初始化到远程推送完整实操笔记

bash运行# 1. 进入仓库目录cd /d/Gits# 2. 拉取远程最新代码(避免冲突)# 3. 修改/新增文件vi 目标文件# 4. 暂存修改git add 目标文件# 5. 提交到本地git commit -m "清晰的备注信息"# 6. 推送到远程git push。

2025-12-12 18:08:02 800

原创 gitignore基本使用+Git分支使用

可根据项目类型选择(如 Python/Java/ 前端),也可使用 GitHub 官方模板((不跟踪、不提交到版本库),用于过滤无版本管理价值的内容(如临时文件、编译产物)。

2025-12-07 16:08:40 875

原创 Git简单的文件提交操作

创建版本库:本地用git init,远程克隆用git clone,核心是生成.git目录接管文件;提交文件:必须遵循「git add → git commit -m」流程,git status是排查问题的关键;版本回退:先通过git loggit reflog查版本号,再用回退,--hard会丢失未提交修改需谨慎。

2025-12-07 16:03:40 394

原创 代码生成器

Service 接口Service 实现类Mapper 接口(补充逆向工程未覆盖的逻辑)

2025-12-01 18:34:47 475

原创 公共代码抽取

抽取通用 CRUD 方法到BaseDao接口,让所有实体 Dao 接口继承该接口,实现方法复用。/*** 持久层公共Base接口* 作用:抽取所有Dao的通用方法,减少重复代码*/// 根据主键删除// 新增(全字段)// 根据主键查询// 根据主键更新(全字段)// 新增(选择性字段,为null的字段不插入)// 根据主键更新(选择性字段,为null的字段不更新)与BaseDao/*** 业务层公共Base接口* 声明通用业务方法*/抽象共性。

2025-12-01 18:32:56 287

原创 hami-MyBatis 逆向 ## 逆向工程配置与使用

xml。

2025-12-01 18:30:14 905

原创 MyBatis 缓存机制

MyBatis 提供的缓存机制用于减少数据库查询次数,提高查询效率。缓存本质是内存中的一块存储空间,用于暂存查询结果,当再次执行相同查询时直接从缓存获取数据,避免重复访问数据库。

2025-11-29 15:50:29 723

原创 Mybatis延迟加载

延迟加载(Lazy Loading)是 MyBatis 的一种优化机制,也称为懒加载。它指的是在进行关联查询时,按需加载数据,而不是一次性加载所有关联数据,从而提高系统性能,减少不必要的数据库查询。Account 类(包含 User 关联对象):java运行// 关联的用户对象// getter/setter/toString省略User 类:java运行// getter/setter/toString省略AccountMapper 接口:java运行。

2025-11-29 15:49:07 318

原创 Mybatis多表查询

java运行// 一对多查询:查询用户及其关联的账户java运行// 多对一查询:查询账户及其所属用户java运行// 多对多查询:查询角色及其包含的用户关联类型标签使用核心特点一对多主对象包含子对象集合多对一子对象包含主对象引用多对多通过中间表关联,双向都包含集合。

2025-11-28 16:41:25 240

原创 javaweb三大组件

组件核心定位运行时机核心用途Servlet核心控制器Filter 之后,请求处理时接收请求、处理业务、返回响应Filter请求拦截器Servlet 之前 / 之后拦截请求、预处理 / 后处理数据Listener事件监听器特定事件触发时(如启动)监听事件、响应资源变化工作流程示例。

2025-11-28 16:40:26 326

原创 Mybatis 基础操作增删改查

#{i}

2025-11-28 16:39:16 338

原创 MyBatis框架

2025-11-28 16:38:46 293

原创 Mybatis 基础操作

UserMapper.java 定义了所有用户相关的数据库操作方法:java运行// 查询所有用户// 根据ID查询用户// 新增用户// 更新用户// 删除用户// 模糊查询用户// 查询总记录数// 通过包装类查询// 多条件查询// 批量ID查询// 一对多查询(用户-账户)// 延迟加载查询MyBatis 核心流程。

2025-11-26 20:56:15 258

原创 javaweb三大组件

组件核心作用生命周期管理核心方法 / 接口典型应用场景Servlet处理请求、返回响应服务器管理doGet()动态页面生成、API 接口实现Filter拦截请求 / 响应、预处理 / 后处理服务器管理FilterdoFilter()编码过滤、权限验证、日志Listener监听 Web 事件、触发回调服务器管理等应用初始化、在线用户统计简单来说,Servlet 是 “处理核心”,Filter 是 “拦截器”,Listener 是 “事件监听器”

2025-11-24 21:26:01 476

原创 文件上传(3)

2025-11-22 12:42:40 923

原创 Springmvc常用的注解

【代码】Springmvc常用的注解。

2025-11-21 18:53:45 507 2

原创 数据库连接池

数据库连接池是在应用启动时创建一定数量的数据库连接,将其缓存起来。应用需要访问数据库时,从池中获取连接;使用完毕后,将连接归还池中,而非直接关闭。

2025-11-15 09:40:52 671

原创 jdbcTemplate和JdbcDaoSupport

是 Spring 框架提供的一个核心类,用于简化 JDBC 操作。它封装了传统 JDBC 的繁琐流程(如获取连接、创建语句、处理结果集、释放资源等),让开发者只需关注 SQL 语句和业务逻辑,大幅提升开发效率。ConnectionStatementResultSetResultSet自动处理数据库连接的获取与释放,无需手动关闭ConnectionStatement等资源,避免资源泄露。将转换为 Spring 统一的(运行时异常),无需强制捕获,便于全局异常处理。

2025-11-15 09:40:43 737

原创 SpringMVC入门案例

【代码】SpringMVC入门案例。

2025-11-15 09:40:35 327

原创 jdbc外部文件的意义

将 “易变的配置” 与 “稳定的代码” 解耦,从而在安全性、可维护性、灵活性上获得显著提升。这也是 Spring、MyBatis 等框架强制要求使用外部配置的原因,是企业级开发的必备实践。在微服务架构中,JDBC 外部配置文件的思想被进一步放大和延伸,甚至成为微服务架构设计的核心实践之一。微服务的分布式特性强化了外部配置的必要性,而外部配置(包括 JDBC 配置)是微服务实现灵活部署、动态扩展和环境隔离的基础。在单体应用中,JDBC 外部配置是 “优化实践”;而在微服务中,它是 “必备基础”——

2025-11-13 13:03:04 311

原创 一、全注解方式概述

if (conn!} /** * 配置JDK动态代理(可选,全注解中可通过AOP替代) */ @Bean("transferServiceProxy") public TransferService transferServiceProxy(TransferService transferService) { return TransferProxy.getProxy(transferService);// 提交事务 } catch (Throwable e) { TxUtils.rollback();

2025-11-13 11:23:13 377

原创 半注解方式实现事务管理转账笔记

/** * 配置JDK动态代理(可选,半注解方式可灵活选择) */ @Bean("transferServiceProxy") public TransferService transferServiceProxy(TransferService transferService) { return TransferProxy.getProxy(transferService);

2025-11-13 11:22:18 309

原创 AOP增强事务转账案例

<property name="transferDao" ref="transferDao"/>

2025-11-13 11:21:04 404

原创 Spring AOP(AOP+JDBC 模板 + 转账案例)

<groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version>

2025-11-13 11:20:26 351

原创 debug不回滚

现代调试工具支持多种 “非侵入式” 调试手段(如断点、监视变量、调用栈分析),无需修改代码即可排查问题。调试时,我们常通过 “临时修改代码” 验证假设(比如加一行打印、注释某段逻辑、替换一个变量值)。调试的核心是定位问题根源,而问题往往与特定的代码状态、变量值、调用栈等上下文强相关。优先保留问题现场和调试上下文,通过增量验证高效定位根源,而非通过回滚逃避问题本身。这在复杂项目调试中尤为重要,能避免因频繁回滚导致的时间浪费和上下文丢失。防止破坏 “问题现场”,便于定位根本原因。

2025-11-10 21:05:31 285

原创 AOP切入点表达式

/ 匹配service包中被@Log注解标注的public方法 execution(public * com.example.service..*(..)) && @annotation(com.example.annotation.Log) // 匹配service包中除了delete开头的方法 within(com.example.service..*) &&!匹配方法参数类型与指定类型匹配的方法(按顺序匹配)匹配目标对象(被代理的原始对象)是指定类型的方法。匹配指定包或类中的所有方法(比。

2025-11-10 21:04:52 452

原创 jdbc事务

/ 2. 关闭自动提交(开启事务) conn.setAutoCommit(false);// A账户减100 // 设置保存点sp1 Savepoint sp1 = conn.setSavepoint("sp1");// B账户加100(假设此处可能出错) // 若操作B出错,回滚到sp1(保留操作A,撤销操作B) // 若全部成功,提交事务 conn.commit();= null) { try { // 回滚到保存点sp1 conn.rollback(sp1);// 关键:关闭自动提交,事务开始。

2025-11-06 16:27:28 826

原创 MySQL 事务的两种使用方式

- 默认AUTOCOMMIT=1,以下语句自动作为单独事务提交 UPDATE account SET balance = 1000 WHERE id = 1;-- 设置保存点sp1 -- ... 执行部分操作 ... ROLLBACK TO sp1;-- 回滚到sp1,放弃sp1之后的操作。事务(Transaction)是数据库中一组不可分割的操作单元,遵循 ACID 特性(原子性、一致性、隔离性、持久性)。-- 推荐使用,清晰明确 -- 或 BEGIN;一、显式事务(手动控制事务)

2025-11-06 16:26:19 714

原创 Spring 框架核心笔记(IOC/AOP 上半部分)

2003 年由 Rod Johnson 创建,基于《Expert One-On-One J2EE Development and Design》的理念衍生。分层架构的轻量级框架,专注解决业务逻辑层与其他层的耦合问题,贯穿面向接口编程思想。全称 Inverse of Control(控制反转),将对象创建权从开发者反转给 Spring 框架。核心作用:降低程序耦合度,由 Spring 容器统一管理 Bean 的生命周期。定位:解决业务逻辑层与其他层松耦合问题,贯穿面向接口编程思想的分层框架。

2025-11-06 13:21:29 745

原创 Spring 框架介绍

Spring 是 2003 年兴起的轻量级 Java 开源框架,由 Rod Johnson 创建,核心为控制反转(IOC)和面向切面(AOP),用于解决企业应用开发复杂性,是分层的 JavaSE/EE 全栈框架。ApplicationContext 为工厂接口,实现类有 ClassPathXmlApplicationContext(加载类路径配置文件)和 FileSystemXmlApplicationContext(加载本地磁盘配置文件)。单例模式(Singleton Pattern)

2025-11-03 21:47:34 653

原创 Maven 进阶与私服架构

概念:企业在局域网内搭建的 Maven 远程仓库,兼具 “私有构件存储” 和 “中央仓库代理” 功能。核心价值存储企业内部构件(如自研的工具类 JAR、业务模块),供内部项目复用;代理中央仓库,避免所有项目直接联网下载,节省带宽并提高依赖获取速度;控制依赖权限,确保内部构件不对外泄露,同时统一管理第三方依赖版本。Nexus 是主流的 Maven 仓库管理器,支持:创建多种类型仓库(宿主、代理、仓库组);可视化管理构件(上传、删除、搜索);权限控制(不同用户角色管理不同仓库)。

2025-10-30 13:20:34 643

原创 maven基础知识

含义:“专家”“内行”,跨平台项目管理工具,主要服务于 Java 项目,核心功能包括项目构建依赖管理项目信息管理。理想项目构建:高度自动化、跨平台、可重用组件、标准化。依赖管理:自动下载第三方 Jar 包,统一管理项目依赖(如 A1.0 依赖 B2.0,B2.0 依赖 C3.0),也可管理自身开发模块。项目信息:项目名称 / 描述、开发人员信息、开发者信息等。

2025-10-30 13:01:13 693

原创 Java 核心知识点查漏补缺(三)

关系:jQuery 是 JS 的 “工具库”,基于 JS 实现,简化了特定场景的开发。适用场景快速开发简单页面(如企业官网、静态页),jQuery 仍能提高效率。维护旧项目(大量 legacy 系统仍依赖 jQuery)。现代复杂应用(如单页应用)更推荐原生 JS 或前端框架。JSON 与 Java 对象的相互转换是数据交互的核心操作,主流工具(fastjson、Jackson、Gson)均提供了简洁的实现方式。用于创建、修改、删除数据库中的对象(如表、字段、索引等),核心语句包括。

2025-10-23 17:37:55 795

原创 Java 核心知识点查漏补缺(二)

增强 for 循环是遍历数组和集合的简化语法,底层依赖迭代器(集合)或索引(数组)。适合仅读取元素的场景,代码更简洁易读。不适合需要索引、修改集合结构或灵活控制遍历过程的场景,此时应使用普通 for 循环或迭代器。迭代器(Iterator)是一种用于遍历集合(如 List、Set、Map 等)元素的接口,它提供了统一的遍历方式,无需关心集合的具体实现细节。迭代器属于 Java 集合框架的一部分,位于java.util包下。维度JavaJavaScriptMySQL类型特性。

2025-10-23 11:10:06 1173

原创 Java 核心知识点查漏补缺(一)

封装是面向对象三大特性之一,核心是通过访问权限控制隐藏类的内部实现细节,仅暴露必要的接口供外部交互。

2025-10-22 22:49:47 1077

原创 持久层框架-MyBatis

在 MyBatis 项目中,“查询数据库” 的本质是:通过生成SqlSession(获取连接)→ 为StudentDao接口生成动态代理 → 调用代理方法时匹配中的 SQL → 执行 SQL 并将结果映射为Student对象 → 关闭SqlSession归还连接。每一步都围绕 “减少重复代码、降低 Java 与 SQL 的耦合” 设计,这也是 MyBatis 成为主流持久层框架的核心原因。

2025-09-13 16:29:37 695

原创 Java基础知识(十五)

监听器用于监听 Web 应用中的事件,如 ServletContext、HttpSession、ServletRequest 的创建和销毁等。Servlet 是运行在 Web 服务器或应用服务器上的 Java 程序,它是客户端请求(通常是 HTTP 请求)和服务器响应之间的中间层。

2025-09-13 14:22:25 275

空空如也

空空如也

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

TA关注的人

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