自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小二丶的博客

小二丶爱编程

  • 博客(351)
  • 收藏
  • 关注

原创 MyBatis基础入门《十六》企业级插件实战:基于 MyBatis Interceptor 实现 SQL 审计、慢查询监控与数据脱敏

本文介绍了如何利用MyBatis插件机制构建企业级安全架构,实现SQL审计、慢查询监控、数据脱敏和SQL注入防护四大核心功能。通过Interceptor拦截器,可以在不修改业务代码的前提下,统一增强MyBatis的安全性与可观测性。文章详细讲解了四种插件的实现方案:审计日志插件记录关键操作、慢查询监控捕获性能问题、数据脱敏保护敏感信息、SQL注入防护拦截高危语句。同时强调了性能优化策略,如异步处理、缓存优化等。

2025-12-15 15:53:05 730

原创 MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性

本文介绍了使用Seata AT模式实现分布式事务的完整方案。通过对比单体与微服务架构下的事务差异,详细解析了Seata的核心组件和工作原理,包括TC、TM、RM的角色分工和两阶段提交机制。文章提供了从Seata Server搭建到微服务集成的完整实践指南,重点演示了如何结合MyBatis Plus实现零侵入的分布式事务管理。同时深入探讨了隔离性问题解决方案,并给出性能优化建议。相比TCC等方案,Seata AT模式具有开发简单、无侵入等优势,是80%业务场景下的理想选择。

2025-12-15 15:49:26 451

原创 MyBatis基础入门《十四》多租户架构实战:基于 MyBatis 实现 SaaS 系统的动态数据隔离

本文系统讲解了MyBatis在SaaS架构下实现多租户数据隔离的三种方案:字段隔离(共享表+tenant_id)、Schema隔离(动态替换表名前缀)和独立数据库(动态数据源)。重点介绍了通过MyBatis插件自动识别租户并路由数据的技术实现,包括租户上下文管理、SQL动态重写和安全防护措施。文章对比了不同方案的优缺点,提供了从基础实现到生产级优化的完整解决方案,涵盖性能监控、测试策略和方案选型建议,帮助开发者在保证数据隔离的同时实现透明化多租户支持。

2025-12-15 15:45:46 374

原创 MyBatis基础入门《十三》极简开发之道:Lombok + MapStruct + MyBatis 深度整合实战

本文介绍如何通过Lombok+MapStruct+MyBatis组合优化Java开发。Lombok自动生成getter/setter等样板代码,减少60%代码量;MapStruct实现类型安全的高效对象映射,性能接近手写代码;结合MyBatis实现分层架构设计,使Entity与DTO/VO解耦。文章详细展示了工程搭建、各层实现、异常处理及测试策略,并提供了高级技巧和性能对比。该方案能显著提升代码简洁性、安全性和可维护性,是现代化Java开发的推荐范式。

2025-12-15 15:17:19 789

原创 MyBatis基础入门《十二》批量操作优化:高效插入/更新万级数据,告别慢 SQL!

本文详细介绍了MyBatis批量操作的三种实现方案及性能对比。针对大数据量场景,推荐使用SqlSession的BatchExecutor模式,通过JDBC的addBatch()实现高效批量写入;对于中小批量数据,可使用XML中的foreach标签构建单条INSERT语句;同时分析了Spring事务批量的局限性。文章还提供了生产环境最佳实践,包括分批处理、数据库调优等建议,并通过实测数据展示了不同方案的性能差异。最后解答了常见问题并给出场景化推荐方案,帮助开发者应对海量数据写入挑战。

2025-12-15 15:11:53 413

原创 从零到智能:用 MateChat 打造企业级 AI 助手(附完整可运行代码)

将原<McBubble><McBubble?}"<DFormItem<DInput v-model="formModel[field.name]" :placeholder="`请输入${field.label}`" /></DForm></div>真实流式响应快捷指令引导自然语言生成 UIRAG 引用展示智能体操作执行主题与性能优化这一切,都建立在 提供的标准化组件与交互范式之上。它不是玩具,而是经过华为内部多个产品验证的企业级解决方案。

2025-12-11 17:52:51 993

原创 MyBatis基础入门《十一》TypeHandler 详解:自定义类型处理器,打通数据库与 Java 的“任督二脉”

本文介绍了MyBatis中TypeHandler的作用与实现方式,重点讲解了如何自定义类型处理器来处理复杂数据类型转换。通过两个实战场景:1)MySQL JSON字段与Java对象互转;2)枚举值与数字/字符串的存储转换,详细演示了从编写TypeHandler到注册使用的完整流程。文章还提供了全局注册TypeHandler的方法和注意事项,包括线程安全、异常处理、性能优化等最佳实践。TypeHandler能有效解决数据库字段与Java对象之间的映射问题,使代码更简洁、逻辑更内聚。

2025-12-11 16:33:57 432

原创 MyBatis基础入门《十》Spring Boot 整合 MyBatis:从单数据源到多数据源实战

本文详细介绍了SpringBoot集成MyBatis的配置方法。

2025-12-11 16:02:59 435

原创 DevUI 组件生态:从入门到企业级实战

DevUI是由华为开发的企业级前端解决方案,提供高质量组件库(如表格、表单)和完整设计体系,支持多框架和主题定制。本文详细介绍了如何快速搭建DevUI环境,实现表格表单联动、暗黑模式切换及品牌色定制,并分享了在云控制台和AI可视化场景的落地经验。文章包含大量可运行代码示例,同时总结了常见问题解决方案,帮助开发者高效构建中后台系统。DevUI通过标准化组件和工程化工具,显著提升企业级应用的开发效率和一致性。

2025-12-11 14:55:29 782

原创 MateChat 智能应用:落地实践与创新探索

摘要:华为DevUI团队推出MateChat前端智能化UI库,助力开发者快速构建AI应用。该库提供开箱即用的对话组件,支持流式响应、多主题适配和自定义扩展,已在多个产品中成功落地。文章详细介绍了如何5分钟搭建基础对话界面,对接真实大模型实现流式响应,并探讨了快捷指令、自然语言生成UI等创新功能。MateChat不仅能提升AI交互体验,还支持知识检索增强、多模态交互等高级功能,未来将向低代码融合、跨平台一致性方向发展,重新定义前端在AI时代的角色。

2025-12-11 14:30:15 930

原创 MyBatis基础入门《九》插件开发:用 Interceptor 拦截并增强 SQL 执行

本文介绍了如何使用MyBatis插件机制实现横切关注点。MyBatis允许拦截Executor、ParameterHandler、ResultSetHandler和StatementHandler四大核心接口,其中StatementHandler最常用。文章通过开发SQL执行日志插件和防止全表更新插件两个案例,详细演示了自定义Interceptor的实现步骤:创建拦截器类、注册插件到MyBatis配置、测试效果。

2025-12-11 11:25:38 327

原创 MyBatis基础入门《八》缓存机制详解:一级缓存 vs 二级缓存

本文详细解析MyBatis缓存机制,包含一级缓存(SqlSession级)和二级缓存(Mapper级)的原理与实战应用。一级缓存默认开启,作用域为同一SqlSession,执行CUD操作后自动失效;二级缓存需手动配置,要求实体类实现Serializable接口,适用于读多写少场景。

2025-12-11 11:22:16 1000

原创 刚刚,IDEA 免费版炸裂发布!终于不用破解了

JetBrains发布IDEA 2025.3统一版,合并Ultimate和Community版本,采用单一安装包。免费版支持Java/Kotlin开发基础功能,新增数据库集成、Spring向导等功能;付费订阅可解锁高级特性。更新亮点包括命令补全、Java25支持、Islands主题和AI增强。同时优化了Spring/Kubernetes支持,安装包体积减小30%。该版本兼顾免费用户需求与商业可持续性,教育用户可申请免费Ultimate订阅。

2025-12-11 11:16:24 620

原创 MyBatis基础入门《七》ResultMap 高级映射:一对一 & 一对多关联查询

本文介绍了MyBatis中实现多表关联映射的两种方法。通过用户与订单的一对多关系案例,详细讲解了使用<resultMap>的collection标签实现嵌套查询(N+1方式)和单条SQL+JOIN查询(推荐方式)的具体实现。同时扩展了一对一关联的association用法,并提供了单元测试示例。文章还总结了避坑指南,强调必须指定主键、使用唯一别名等注意事项,推荐优先使用JOIN+嵌套结果方式以获得更好性能。最后通过"一对多用collection,一对一用association&quot

2025-12-08 16:45:00 337

原创 MyBatis基础入门《六》动态SQL:让SQL语句“活”起来!

本文介绍了MyBatis动态SQL的核心用法,通过<if>、<where>、<foreach>等标签实现灵活查询。主要内容包括:1)动态SQL概念及优势,避免手动拼接SQL;2)多条件查询实战案例,展示参数组合查询;3)常用标签详解,包括条件判断、智能WHERE、集合遍历等;4)单元测试验证;5)安全注意事项和常见错误提示。动态SQL能自动生成不同结构的SQL语句,提高开发效率,是MyBatis的核心特性之一。

2025-12-08 16:40:59 506

原创 MyBatis基础入门《五》接口方式:Insert、Update、Delete 操作详解

本文详细介绍了MyBatis中通过Mapper接口实现增删改(CRUD)操作的方法,重点强调了事务控制的重要性。文章包含以下内容:1) 解释为何增删改操作必须关注事务;2) 准备工作包括实体类定义和Mapper接口编写;3) XML映射文件配置示例;4) 完整的单元测试演示;5) 常见问题排查;6) 操作总结和核心口诀。特别提醒:MyBatis默认不自动提交事务,必须手动调用commit()才能使修改生效,否则操作会被回滚。文章还提供了获取自增主键等实用技巧,为后续学习动态SQL打下基础。

2025-12-08 16:38:29 463

原创 MyBatis基础入门《四》接口方式:Select查询集合

本文介绍了MyBatis中使用Mapper接口进行集合查询的推荐方式。相比直接使用字符串调用SQL,接口方式具有类型安全、代码简洁和易于维护等优势。关键实现步骤包括:定义Mapper接口(方法名需与XML中的id一致)、配置XML映射文件(保持原有写法)、通过SqlSession获取接口代理对象并调用方法。文章还提供了测试用例示例,强调了资源关闭的重要性,并解答了常见问题,如绑定异常处理方法、注解与XML的选择等。核心规则是"接口方法名=XML标签id,namespace=接口全路径",

2025-12-08 16:36:35 549

原创 MyBatis 查询数据库返回集合的三种接收方式(附工具类封装)

本文介绍了MyBatis三种数据库查询结果映射方式:1)使用<resultMap>手动映射(推荐字段不一致或复杂关联场景);2)通过resultType+SQL别名(适用于简单映射);3)结合resultType+全局类型别名(简化长类名)。文章详细对比了各方式的配置需求、适用场景及维护成本,并提供了封装工具类MyBatisUtil和单元测试示例,帮助开发者根据实际情况选择最佳映射方案,提升MyBatis使用效率。

2025-12-08 16:34:11 357

原创 MyBatis入门:Select查询

本文介绍了使用MyBatis框架连接MySQL数据库的基本配置过程。主要内容包括:1) 创建MySQL数据库表tbl_client_copy1;2) 配置MyBatis的核心文件mybatis-config.xml和数据映射文件ClientMapper.xml;3) 定义Java实体类TblClient;4) 编写JUnit测试类进行数据库连接测试和查询操作;5) 通过pom.xml配置项目依赖。文章详细展示了MyBatis环境搭建的关键步骤,包括SQLSession的使用方式、日志配置和事务控制等,为My

2025-12-08 16:31:52 222

原创 MyBatis入门:环境搭建

本文介绍了MyBatis基础环境搭建过程。使用Maven构建项目,基于STS开发工具和JDK1.8。详细说明了核心配置文件mybatis-config.xml的配置方法,包括数据库连接、日志实现等设置。提供了database.properties和log4j.properties配置示例,展示了JUnit测试类的编写方法,以及pom.xml中MyBatis、JUnit和Log4j的依赖配置。通过该教程可以快速搭建MyBatis开发环境并验证配置的正确性。

2025-12-08 16:30:29 219

原创 DeepSeek终极使用指南合集:从入门到精通,全面掌握国产大模型新星

DeepSeek是一款国产开源大语言模型,凭借超长上下文支持(最高1M tokens)、卓越的代码能力和中文优化表现脱颖而出。该指南全面介绍了DeepSeek的技术优势、三种使用方式(Web端、API、桌面客户端)、本地部署方案(CPU/GPU)、开发集成方法(Python SDK、LangChain等)以及高级应用技巧。

2025-12-05 10:58:15 1656

原创 让你的DeepSeek能力翻倍的使用指南

高效提问指南:让AI秒懂你的需求 要让AI精准输出,需掌握提问技巧: 明确需求:具体说明内容、数量、限制条件(如“3人份川菜外卖,预算150元”); 补充背景:加入时间、身份设定或知识水平(如“用小学生能懂的语言解释”); 指定格式:要求分点、表格或步骤化呈现(如“分三步说明煮米饭”)。 进阶技巧: 追问细节:逐步细化问题; 检查理解:让AI复述需求; 调整风格:切换表达难度。

2025-12-05 10:46:16 318

原创 DeepSeek最强使用攻略

《DeepSeek-R1使用指南:简单提问更高效》 全球爆红的DeepSeek-R1是一款"推理型语言模型",与传统AI不同,它不需要复杂提示词。三大实用模板帮助用户轻松应对各类场景:1)场景化模板,明确目标、对象、效果和问题;2)术语破解模板,用通俗语言解释专业概念;3)风格迁移模板,模仿特定作家或文体创作。使用时需注意避免复杂设定,只需明确身份、需求、受众和风格即可。常见问题可通过调整提问方式解决,如加入背景说明或指定输出格式。掌握这些技巧,即使是新手也能快速生成高质量内容。

2025-12-05 10:45:08 314

原创 DeepSeek高效使用指南

摘要: DeepSeek的高效使用关键在于4步提问法:明确身份、具体任务、细节约束和输出格式。职场人可通过精准提问(如对比特定数据)快速生成汇报素材;学生党细化需求(如限定文献范围)能显著提升论文质量;博主定制化要求(如独特风格+互动引导)可打造爆款内容。核心差距在于提问逻辑——模糊指令得到泛泛回答,而结构化提问能解锁AI的真正潜力。尝试优化旧提问,对比效果立现。在AI时代,提问能力决定生产力。

2025-12-05 10:43:55 265

原创 DeepSeek应该怎样提问?

高效提问指南:让AI回答更精准 想让DeepSeek给出优质回答?关键在清晰提问!以下是实用技巧: 1️⃣ 明确问题类型+补充细节 ✅ 好问题:"初学Python数据分析,会基础语法,请推荐3个适合初学者的Pandas项目,并说明练习哪些技能?" ❌ 模糊提问:"怎么学Python?" 2️⃣ 拆解复杂问题 ✅ 分步提问:"分三步解释区块链如何保障交易安全:哈希函数→分布式账本→共识机制" ❌ 笼统提问:"区块链是什么?" 3️

2025-12-05 10:42:53 280

原创 1000个DeepSeek神级提示词,让你轻松驾驭AI

摘要:5大AI提问法则助你精准获取答案:1)明确指令(行动+领域+格式);2)角色代入(设定专家人设);3)任务分解(分步骤指导);4)提供范例(让AI模仿);5)逆向提问(让AI帮你理清思路)。进阶技巧包括启动思考链、跨模态融合和角色批评法。核心观点:不是AI不够聪明,而是提问方式决定输出质量。掌握这些方法,AI将成为高效工作的强力助手。(149字)

2025-12-05 10:41:57 440

原创 DeepSeek小白使用指南

把 DeepSeek 当成你身边的“学霸直男同事”说清楚你要干嘛,别让他自己猜,多提具体要求,效果立马翻倍!而当他说话太“程序员”时,记得补一句:* “说人话!

2025-12-05 10:40:56 452

原创 从割裂到融合:基于 DevUI 与 MateChat 构建新一代云原生智能控制台

本文针对云原生控制台面临的性能瓶颈、AI助手体验割裂和主题定制成本高等问题,提出基于DevUI和MateChat的智能控制台解决方案。通过虚拟滚动、CSS变量主题系统和流式对话等优化,实现操作界面与AI助手的无缝融合。实践数据显示,该方案显著提升了表格渲染性能(FPS提升123%)、减少了包体积(下降22%)并简化了主题切换流程(耗时降低94%)。文章还分享了工程实践中的典型问题及解决方案,为构建高性能、高一致性的云原生控制台提供了可复用的技术路径。

2025-12-04 09:46:51 702

原创 不是选择 UI 库,而是选择工程命运:一次云原生控制台重构的技术复盘

本文记录了基于Vue2+ElementUI的项目重构为DevUI+MateChat的完整过程。

2025-12-04 09:36:44 825

原创 Windows 11 官方系统安装与重装完整教程(2025年最新版)

本文详细介绍了Windows系统从下载到安装的全过程。首先推荐在微软官网下载正版系统镜像,避免使用第三方定制系统。其次讲解了使用微软官方工具或Ventoy制作系统U盘的方法,并提供了详细的安装步骤指南。接着说明了系统激活方法,推荐使用HEU_KMS_Activator工具。最后介绍了如何将本地账户转换为Microsoft账户。文章特别强调下载正版系统的重要性,并提醒用户不要随意折腾系统,以保证稳定性和安全性。整个过程涵盖了系统安装的各个环节,适合需要重装系统的用户参考。

2025-12-02 10:19:40 3205

原创 Spring框架入门:Spring 中注解支持详解

本文系统讲解Spring注解的核心机制与实战应用。从XML到注解的演进历程出发,详细解析四大类核心注解:Bean注册类(@Component、@Service等)、依赖注入类(@Autowired、@Qualifier等)、配置类(@Configuration、@ComponentScan等)和条件化注解(@Conditional、@Profile)。文章深入剖析注解驱动配置原理,演示自定义注解开发,并总结常见陷阱与最佳实践,强调构造器注入优于字段注入。

2025-12-02 10:02:11 669

原创 Spring框架入门:属性文件使用 + Bean 作用域(Scope)详解

摘要:本文深入讲解Spring框架中属性文件与Bean作用域的核心应用。属性文件部分涵盖三种加载方式(自动加载、@PropertySource、Environment接口),重点推荐类型安全的@ConfigurationProperties方法,并介绍多环境配置策略。Bean作用域部分解析六种内置作用域(singleton、prototype等)及其适用场景,特别强调ScopedProxy解决作用域不匹配问题的原理。文章通过多租户数据库路由实战案例,展示如何综合运用配置管理和作用域控制,并提供常见陷阱解决方

2025-12-02 09:58:32 527

原创 Spring框架入门:TX 声明式事务详解

本文系统讲解了Spring声明式事务的核心机制与实践要点。首先介绍了事务的ACID特性,对比了编程式与声明式事务的优劣。重点解析了@Transactional注解的7大属性,详细阐述了事务传播行为(如REQUIRED、REQUIRES_NEW)和隔离级别的应用场景。通过典型陷阱案例(自调用失效、异常不回滚等)揭示了事务使用的常见误区,并给出解决方案。最后剖析了Spring事务的底层AOP实现原理,总结了事务设计的最佳实践。全文兼顾理论深度与实践指导,帮助开发者正确运用Spring事务保障数据一致性。

2025-12-02 09:55:05 559

原创 Spring框架入门:AspectJ 详解

AspectJ是由 Eclipse 基金会维护的一个面向切面编程(AOP)的扩展语言,它为 Java 语言增加了 AOP 特性,通过编译期或类加载期修改字节码来实现横切逻辑的织入。AspectJ 是 AOP 领域的“瑞士军刀”——功能全面、性能卓越。虽然 Spring AOP 满足了大多数企业开发需求,但在面对细粒度监控、高性能要求或复杂织入逻辑时,AspectJ 往往是唯一选择。突破代理限制的能力(拦截字段、构造器);极致性能优化的手段(编译时织入);深入理解 JVM 字节码操作的入口。

2025-12-02 09:53:56 757

原创 Spring框架入门:基于 Schema 的配置(Schema-based Configuration)

Spring框架的Schema-based配置机制通过自定义XML命名空间简化了传统<bean>标签的冗长配置。该机制允许开发者使用语义化标签(如context:component-scan)替代复杂的Bean声明,由Spring内部解析器自动转换为对应的Bean定义。文章详细介绍了其核心原理、常用内置命名空间(context、tx、util等)的使用方法,以及自定义Schema扩展的高级技巧。虽然SpringBoot时代更推荐注解驱动开发,但理解Schema配置仍对维护遗留系统和深入掌握Spr

2025-12-02 09:51:13 721

原创 Spring框架入门:Spring AOP 简介

摘要: Spring AOP 是面向切面编程的轻量级实现,用于分离日志、事务、安全等横切关注点,提升代码模块化。文章系统讲解核心概念(切面、通知、切入点等)、注解与XML配置方式、五种通知类型及典型应用场景(日志、事务、权限)。通过切入点表达式精准匹配方法,结合自定义注解实现解耦。对比Spring AOP(运行时织入,仅方法级)与AspectJ(编译时织入,功能更强)的差异,指出自调用、非public方法等常见误区,并给出最佳实践建议,帮助开发者合理运用AOP优化代码结构。

2025-12-02 09:49:05 847

原创 Spring框架入门:代理模式详解

本文系统讲解Spring框架中的代理模式应用,涵盖JDK动态代理和CGLIB代理的原理与区别。文章首先介绍代理模式的基本概念和分类,然后详细分析两种动态代理的实现机制:JDK代理基于接口,CGLIB通过继承实现。Spring默认优先使用JDK代理,无接口时才采用CGLIB。文中还探讨了代理在AOP、事务管理和作用域注入中的具体应用,指出常见问题如类型转换异常、自调用失效等,并给出最佳实践建议。最后强调理解代理机制对正确使用Spring功能的重要性,建议优先面向接口编程,避免代理陷阱。

2025-12-02 09:44:44 737

原创 Spring框架入门:深入理解Spring DI的注入方式

本文系统讲解Spring框架中的依赖注入(DI)机制,重点分析三种主要注入方式:构造器注入(官方推荐)、Setter注入和字段注入(不推荐)。文章详细比较了各方式的优缺点,指出构造器注入在强制依赖、不可变性和可测试性方面的优势。同时解析了循环依赖问题及其解决方案,并给出SpringBoot中的DI实践差异。最后强调遵循官方最佳实践的重要性,即优先使用构造器注入来保证代码质量和可维护性。

2025-12-02 09:42:04 768

原创 Spring框架入门:深入理解Scope属性

本文系统介绍了Spring框架中的Bean作用域(Scope)机制,重点解析了五种标准Scope(singleton、prototype、request、session、application)的特性和适用场景。文章深入探讨了Web环境下Scope的实现原理,包括ScopedProxy代理机制和RequestContextHolder的线程绑定原理,并详细讲解了自定义Scope的实现方法。针对常见开发误区,如单例Bean保存状态、原型Bean失效等问题,提供了解决方案和最佳实践建议。

2025-12-02 09:38:38 773

原创 Spring 框架入门:深入理解 Spring IOC 的实现原理(附手写简易 IOC 容器)

本文深入解析Spring框架的IOC(控制反转)核心机制。首先通过传统编程与IOC的对比,阐述IOC解耦、可配置、可测试的优势。接着介绍Spring的两种IOC容器(BeanFactory和ApplicationContext)及其使用方式。

2025-12-01 15:21:16 704

js 实现记住密码功能 js.cookie.min.js

js.cookie.min.js

2024-04-27

js 实现记住密码功能 crypto-js.js

crypto-js.js

2024-04-27

ajax获取数据导出excel表格

ajax获取数据导出excel表格

2024-04-15

空空如也

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

TA关注的人

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