自定义博客皮肤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)
  • 收藏
  • 关注

原创 命令式编程VS函数式编程:本质差异解析

命令式编程与函数式编程是两种核心编程范式。命令式关注"如何做",通过详细步骤控制状态变化;函数式聚焦"做什么",通过函数组合处理数据转换。关键区别在于:命令式修改状态,使用循环/条件语句;函数式保持数据不可变,依赖纯函数和高阶函数。现代语言如Python、Java支持多范式,开发者可根据场景选择——命令式适合精确流程控制,函数式擅于数据转换和并发。实际开发中应灵活结合两者优势,编写高效可维护的代码。

2025-08-25 18:52:34 911

原创 登录与登录校验:Web安全核心解析

本文介绍了Web开发中登录与登录校验的实现机制。登录功能本质是通过数据库查询验证用户身份信息,典型实现包含Controller接收请求、Service处理业务、Mapper执行查询的三层架构。登录校验则通过统一拦截器结合会话技术实现访问控制,主要方案包括:基于Cookie的客户端会话跟踪、基于Session的服务端会话存储,以及灵活支持多端的令牌技术。三种技术各有优劣,Cookie简单但安全性低,Session安全但需解决集群同步问题,令牌技术则适合分布式系统但需自行实现。

2025-08-16 13:31:51 877 2

原创 Spring事务管理实战:从注解到进阶

本文系统梳理Spring事务管理的核心机制与实践技巧。通过@Transactional注解实现声明式事务控制,详细解析了其在方法、类、接口上的适用场景。重点介绍了rollbackFor异常回滚配置和七种事务传播行为(如REQUIRES_NEW实现独立事务),并给出"员工新增+日志记录"的典型应用案例。文中包含完整代码示例,帮助开发者掌握事务边界控制、异常处理等关键技能,构建更健壮的数据访问层,规避常见事务陷阱。

2025-08-13 18:02:47 821

原创 高效员工管理系统后端开发(二)

员工信息管理是企业管理系统的核心功能之一,其中新增和删除员工操作涉及多表关联和数据一致性维护。本方案基于Spring Boot和MyBatis框架,实现了员工基本信息与工作经历的关联操作,包含以下关键设计:分层架构:采用MVC模式分离控制层、业务层和数据访问层事务控制:通过@Transactional注解保证多表操作的原子性批量处理:使用MyBatis动态SQL实现高效数据操作“修改员工” 功能需关注数据一致性(事务)灵活性(动态 SQL)用户体验(异常响应)动态 SQL 避免空值更新;

2025-08-10 15:47:01 992

原创 高效员工管理系统后端开发(一)

本文介绍了员工管理系统的分页查询实现方案,基于Spring Boot+MyBatis三层架构开发。系统通过数据库表设计、实体类映射构建基础,重点讲解分页查询的两种实现方式:手动SQL分页(使用limit)和PageHelper插件优化。文章详细拆解了Controller接收参数、Service处理逻辑、Mapper执行SQL的分层协作流程,并提供了完整的代码示例。系统支持基础分页和带条件筛选的分页查询,满足企业管理场景下高效数据展示的需求,有效提升系统性能与用户体验。

2025-08-10 15:40:25 845

原创 Web文件上传:本地与云存储实战

本文系统介绍了文件上传的两种实现方案:本地存储与阿里云OSS存储。本地存储方案通过前端表单三要素(action、method、enctype)配合后端MultipartFile接收,使用UUID生成唯一文件名避免冲突。阿里云OSS方案则需先开通服务并配置Bucket,通过SDK实现云存储集成。文章详细对比了两种方式的技术要点,包括文件接收、命名处理、存储路径配置等核心环节,并提供了Spring Boot实现示例和优化建议(如文件校验、异常处理)。特别强调了UUID命名机制在避免文件覆盖、保障系统稳定性

2025-08-09 15:10:42 683

原创 数据库恢复技术:保障数据安全的关键

摘要:数据库恢复技术通过事务管理和冗余机制确保数据可靠性。事务的ACID特性(原子性、一致性、隔离性、持久性)是核心基础,通过日志记录实现故障时的UNDO/REDO操作。主要恢复策略包括:事务故障回滚、系统故障UNDO+REDO、介质故障重装备份+重做日志。关键技术有数据转储(静态/动态、海量/增量)、日志文件、检查点优化和数据库镜像。金融等关键系统建议采用动态转储+日志镜像,高并发场景可结合检查点与增量备份。Oracle等数据库通过REDO日志和回滚段实现快速恢复。

2025-08-08 17:17:05 1044

原创 Java日志技术:从基础到实战

本文介绍了日志技术的基础知识、主流框架及使用方法。日志作为程序运行的"日记",用于数据追踪、性能优化和问题排查。Java生态中常见框架包括JUL、Log4j、Logback和SLF4j,其中Logback性能优异,推荐生产使用。通过logback.xml配置可实现灵活日志管理,包括控制台/文件输出、日志级别控制(DEBUG/INFO/WARN/ERROR等)和滚动策略。在Spring Boot中,只需引入依赖并配置即可快速使用Logback记录日志。

2025-08-07 15:26:49 684

原创 Spring Boot部门管理系统:查询、删除、新增实战

本文介绍了基于Spring Boot和MyBatis的部门管理系统核心功能实现,包括查询、删除和新增部门。系统采用三层架构设计:Controller层接收请求参数(对比了HttpServletRequest、@RequestParam和参数名匹配三种方式),Service层处理业务逻辑(如自动填充时间字段),Mapper层通过注解方式执行SQL操作。重点讲解了使用@RequestBody接收JSON参数、@RequestParam参数绑定等关键技术点,为企业级开发提供了典型场景的实现方案和最佳实践。

2025-08-06 17:49:47 1423

原创 @RequsetMapping

Spring MVC 中,@RequestMapping是核心注解,用于映射HTTP请求到控制器方法,支持通过属性(如value、method、params等)灵活配置请求规则。其衍生注解(@GetMapping、@PostMapping等)是简化形式,分别对应特定HTTP方法(GET/POST等),使RESTful接口代码更简洁。@RequestMapping适用于复杂映射场景,而衍生注解推荐优先使用,提升可读性。类级别定义基础路径,方法级别补充具体规则,二者可组合使用。

2025-08-06 12:56:32 879

原创 MyBatis数据封装三大妙招

MyBatis处理数据库字段与实体类属性映射的三种方式:1.手动结果映射(@Results+@Result)明确字段对应;2.SQL起别名使字段匹配属性名;3.开启驼峰命名自动映射(推荐),配置简单高效。最佳实践是优先使用自动驼峰映射,特殊场景再用手动映射或SQL别名。

2025-08-05 19:59:00 1900

原创 MyBatis高效查询:简化JDBC开发实战

摘要 MyBatis是一款优秀持久层框架,简化JDBC开发,支持注解和XML配置方式。其核心优势包括:通过注解(如@Select)简化SQL编写,自动映射结果集到Java对象;结合连接池(如HikariCP)提升性能;相比JDBC减少70%模板代码。SpringBoot集成MyBatis只需@Mapper注解接口和配置数据源,典型开发流程为:1)创建实体类映射表结构;2)定义Mapper接口;3)配置application.properties。数据库连接池(如Druid、Hikari)通过连接复用显著提升

2025-08-04 18:36:29 1270

原创 JDBC核心技术与预编译SQL实战

JDBC是Java操作关系型数据库的标准API,通过接口规范统一不同数据库操作。摘要涵盖以下要点: JDBC概念:Sun公司定义的操作关系型数据库的接口规范,各数据库厂商提供具体实现驱动。 基本使用流程: 加载驱动(Class.forName) 获取连接(DriverManager) 创建Statement/PreparedStatement 执行SQL(executeUpdate/executeQuery) 处理结果(ResultSet) 释放资源 两种SQL执行方式: DML语句(增删改):返回受影响行

2025-08-03 17:49:47 1283

原创 分层解耦(二)

分层解耦与依赖注入(IOC & DI) 分层解耦通过控制反转(IOC)和依赖注入(DI)实现,将对象创建权交予容器管理,降低代码耦合度。IOC容器负责创建和管理Bean对象,DI则动态注入依赖资源。Spring框架提供@Component系列注解声明Bean,并通过@Autowired实现自动注入。 依赖注入主要有三种方式: 属性注入:简洁但隐蔽依赖关系 构造器注入:推荐方式,明确依赖且线程安全 Setter注入:灵活性高但易遗漏 当存在同类型多个Bean时,可通过@Primary指定默认实现

2025-08-01 14:27:51 845

原创 分层解耦(Controller,Service,Dao)

本文介绍了三层架构的核心职责与分层解耦的优势。三层架构包含Controller层(处理HTTP请求)、Service层(业务逻辑)、Dao层(数据访问),各层职责明确,通过接口依赖实现松耦合。分层解耦的优势包括:遵循单一职责原则提升代码可维护性;通过抽象接口降低模块间依赖;支持灵活扩展(如缓存功能);便于单元测试;提高代码复用性。文中通过用户管理案例展示了如何将文件读取、数据解析等逻辑从Controller拆分到Service和Dao层,并演示了依赖注入、Mock测试等具体实现方式,体现了分层设计理念

2025-07-30 19:48:04 945

原创 Java注解家族--`@ResponseBody`

摘要: @ResponseBody是Spring框架中用于将控制器方法返回值转换为JSON/XML等格式并写入HTTP响应体的注解,适用于RESTful API开发。它依赖HttpMessageConverter实现数据转换,如Jackson库处理JSON。与之相关的@RestController组合了@Controller和@ResponseBody功能。@Autowired则用于自动注入Spring容器中的Bean,支持构造函数、字段等多种注入方式。两者共同简化了前后端数据交互和依赖管理,提升开发效率。

2025-07-21 21:33:50 732

原创 java注解:@Controller 与 @RestController

本文深入解析Spring框架中的@Controller和@RestController注解。@Controller主要用于传统Web开发,处理请求后返回视图(如HTML页面),需配合@ResponseBody才能返回数据;而@RestController是@Controller和@ResponseBody的组合,专为RESTful API设计,自动将返回值转换为JSON/XML等格式。文章通过代码示例对比两者的使用差异,并指出适用场景:@Controller适合页面渲染和混合应用

2025-07-12 11:04:05 1250

原创 Spring Boot基础

Spring Boot应用配置解析:包括基础服务端口(8080)、MySQL数据库连接(本地3306端口,Druid连接池)、Thymeleaf模板缓存关闭等设置。针对常见数据库配置问题,提供端口占用、用户名密码不匹配等解决方案。 MD5加密实现:通过PasswordUtil类实现MD5加密、十六进制转换和盐值生成功能,采用双重MD5加盐方案增强安全性。建议使用更安全的算法替代MD5。 三层架构设计:Controller层处理请求和页面跳转,Service层封装业务逻辑,Mapper层操作数据库

2025-07-11 22:01:46 559

原创 Java----Maven

本文介绍了Maven项目管理工具的关键概念和常用配置。主要内容包括: Maven坐标组成(groupId、artifactId、version)及其作用; 项目版本分类(SNAPSHOT快照版和RELEASE发布版)的区别; Spring Boot常用starter依赖(web、test、devtools等)的配置; 数据库相关依赖(Druid、MyBatis、MySQL)和工具类依赖(Lombok、Fastjson); Maven生命周期标准阶段(clean、compile、package等)及常用插件配

2025-07-11 08:38:01 1139

原创 Inheritance(继承)

基本术语:子类(subclass):继承自其他类的类,可获取父类属性和方法,也能添加自身特有属性和方法,还可重写父类方法。超类(superclass):也叫父类,是被其他类继承的类,定义通用属性和方法供子类共享,Java 中用extends关键字表明继承关系。基类(base class):与超类意思相近,是其他类继承的基础,包含通用功能和属性。派生类(derived class):从基类或超类派生出来的类,即子类,可继承基类属性和方法并添加独特功能。

2025-07-10 21:45:33 1128

原创 数据库完整性

数据库完整性机制通过约束条件确保数据的正确性和一致性,包括静态(列、元组、关系级)和动态约束。核心控制功能为定义、检查和处理约束,方式包括立即执行或延迟检查。典型实现包括实体完整性(主键)、参照完整性(外键)和用户自定义约束(如CHECK)。触发器可用于复杂业务规则。关系数据理论中,不良模式会导致冗余、更新异常等问题,需通过模式分解解决。函数依赖分为完全、部分和传递依赖,候选码需满足唯一标识和最小化原则。例如,销售关系中存在多级依赖需规范化处理。

2025-06-03 18:53:50 2266

原创 数据库安全性

本文概述了计算机与数据库安全的核心概念及控制措施。数据库安全性强调防止非法访问导致的泄露、篡改或破坏,涉及技术、管理和政策法律层面。安全标准包括美国TCSEC/TDI标准和通用CC标准,分别按安全级别和功能/保证要求进行评估。主要控制措施包含:用户身份验证、存取控制(自主/强制)、视图机制、审计日志和数据加密。此外,角色管理可批量授权,统计数据库需防范间接数据泄露。权限管理中,WITH ADMIN OPTION赋予角色/系统权限的再授权能力,区别于对象权限的WITH GRANT OPTION。这些机制共同构

2025-06-01 19:02:46 1328

原创 存储过程、触发器和游标

本文摘要介绍了数据库编程中的关键组件——存储过程、触发器和游标,重点以SQL Server 2008为例讲解存储过程。内容包括存储过程的概念(预编译SQL语句集合,支持参数传递和嵌套调用)、分类(系统/扩展/用户自定义存储过程)、优点(快速执行、安全性高等)以及防范SQL注入攻击的措施。详细说明了存储过程的创建、执行、修改和删除语法,并与函数进行对比。最后介绍了存储过程参数传递、返回值处理以及RAISERROR和PRINT的输出区别。全文150字,涵盖核心概念和操作要点。

2025-05-28 19:26:55 2295

原创 SQL扩展语言介绍

T-SQL是SQL Server的扩展语言,包含数据定义(DDL)、操纵(DML)和控制语句(DCL),支持流程控制和函数。其系统数据类型涵盖字符、数值、日期等类别,并允许自定义类型。通过常量、变量和运算符实现数据处理,提供丰富的内置函数(如数学、字符串、日期函数)及用户自定义功能。批处理(GO分隔)和流程控制(IF、CASE、WHILE等)增强脚本灵活性,GOTO可实现跳转但不推荐滥用。关键点在于掌握语法结构、数据类型转换和流程控制逻辑,以编写高效数据库操作脚本。

2025-05-28 14:17:34 1080

原创 关系数据库

本文系统介绍了关系数据库的核心概念,包括关系模型、数据结构、完整性约束和操作语言。主要内容涵盖:1)关系模型的三要素(数据结构、操作集合、完整性约束);2)关系的形式化定义(域、笛卡尔积、关系);3)三类完整性规则(实体、参照、用户定义);4)关系代数运算(集合运算和专门运算);5)关系演算(元组演算示例)。最后通过SPJ数据库的5个典型查询题目,展示了关系代数的实际应用。全文以严谨的数学定义结合实例说明,为理解关系数据库奠定了理论基础。

2025-05-27 17:05:14 864

原创 关系数据库标准SQL语言(二)

摘要 索引是数据库中的一种数据结构,类似于书籍目录,用于加速数据检索,分为聚簇索引(决定物理存储顺序)和非聚集索引(数据与索引分开存储)。索引可提升查询性能,但会增加存储开销和更新操作负担。查询操作通过SELECT语句实现,支持单表查询(选择列、筛选元组、分组排序)和多表连接(内连接、外连接等)。连接查询包括等值连接、自身连接和外连接(左外、右外、全连接),用于处理表间关系,保留未匹配记录时用NULL填充。

2025-05-25 19:56:36 1238

原创 关系数据库标准SQL语言(一)

SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准语言。自1974年提出以来,SQL经历了多次标准化,如SQL-86、SQL-92、SQL-99等,逐渐成为数据库管理系统的核心工具。SQL具有综合统一、高度非过程化、面向集合操作等特点,支持数据定义(DDL)、数据操纵(DML)和数据控制(DCL)等功能。其核心动词包括SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT等,操作对象和结果均为集合。SQL支持关系数据库的三级模式结构

2025-05-22 17:59:38 1102

原创 Polymorphism(多态)

多态是面向对象编程的核心概念之一,允许同一方法在不同对象中表现出不同的行为。其实现依赖于继承和方法重写,通过父类引用指向子类对象,实现动态绑定。多态的优点包括代码的灵活性和可扩展性,支持晚绑定引用,使得程序在运行时能够根据对象的实际类型调用相应的方法。多态的实现方式包括方法重载、方法重写和接口。方法重载是编译时多态,通过不同的参数列表实现;方法重写是运行时多态,子类重写父类方法以实现特定行为。此外,引用数据类型转换中的向上转换和向下转换也是多态的重要应用,向上转换自动进行,向下转换则需要通过关键字

2025-05-12 12:03:07 950

原创 面向对象的程序设计(基础)

在这段代码中,this关键字在构造方法里用于调用其他构造方法,实现代码复用;在实例方法里用于引用当前对象的成员变量,避免局部变量和成员变量同名时产生混淆,确保正确访问成员变量。这种使用方式增强了代码的可读性和可维护性。关系类型定义(UML 符号)本质生命周期代码实现方式耦合度is-a继承(空心箭头→)类与子类的 “属于” 关系子类依赖父类高has-a聚合(空心菱形◁—●)整体 - 部分的 “拥有” 关系部分可独立存在(聚合)中use-a依赖(虚线箭头→)

2025-05-11 18:26:38 934

原创 java四种访问修饰符

合理使用访问修饰符是实现高内聚、低耦合代码的基础,有助于提高代码的安全性和可维护性。public:所有类(无论是否同包或子类)均可访问。default:仅同包内的类可访问。private:仅本类内部可访问。

2025-05-10 18:28:05 2008

原创 Java对象相亲指南:代码里的灵魂伴侣

定义与特性类:是一组具有相同结构和行为的对象的集合,是对象的蓝图或模板,是现实世界实体的抽象,可看作抽象数据类型。java中常用clsaa来修饰一个类,一个java文件可以有多个类,但最多只能有一个public修饰的类对象:是类的实例,基于类的定义创建出来的具体实体。组成部分名称:具有唯一性,通常以大写字母开头(大驼峰法)。属性(attribute):用于描述对象的状态,如intdoublebooleanString等类型的变量,一般将实例变量定义为私有(private方法(method)

2025-05-09 13:57:23 1122

原创 Java(面向对象的程序设计)

Java通过JVM屏蔽底层差异,标准库处理系统差异,开发者遵循“编写一次,处处运行”理念。但需注意本地方法、路径处理中的平台相关代码,确保真正实现跨平台。对于需要平台相关的功能,Java提供了。

2025-05-08 16:26:50 1150 1

高效员工管理系统后端开发部分完整源代码

高效员工管理系统后端开发部分完整源代码

2025-08-10

Spring Boot部门管理系统:查询、删除、新增实战

Spring Boot部门管理系统:查询、删除、新增实战

2025-08-06

Mybatis笔记知识点总结

Mybatis笔记知识点总结

2025-08-04

JDBC核心技术与预编译SQL实战

JDBC核心技术与预编译SQL实战

2025-08-03

JDBC核心技术与预编译SQL实战

JDBC核心技术与预编译SQL实战

2025-08-03

基于SpringBoot框架 分层解耦的代码练习

基于SpringBoot框架 分层解耦的代码练习

2025-08-01

空空如也

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

TA关注的人

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