ORM
文章平均质量分 92
ORM 专栏
csdn_tom_168
富贵如可求,虽执鞭之士,吾亦为之。如不可求,从吾所好。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MyBatis-Plus 代码生成器(Code Generator)原理的深度源码分析
MyBatis-Plus代码生成器通过自动化流程实现Entity、Mapper等代码的一键生成。其核心架构包括AutoGenerator入口类,配合GlobalConfig、DataSourceConfig等组件完成配置。执行流程分为:1)连接数据库获取表结构元数据;2)通过StrategyConfig处理命名规则;3)利用Freemarker模板引擎渲染代码文件。关键组件StrategyConfig支持表前缀处理、Lombok集成等策略,TemplateEngine则基于.ftl模板文件动态生成各类代码。原创 2025-08-14 00:11:23 · 896 阅读 · 0 评论 -
MyBatis-Plus 与 Spring Boot 集成原理的源码级深度分析
摘要: MyBatis-Plus(MP)通过mybatis-plus-boot-starter实现与Spring Boot的深度集成,其核心原理基于自动配置机制。MybatisPlusAutoConfiguration类在Spring Boot启动时自动加载,负责配置增强版的MybatisSqlSessionFactoryBean,注入全局配置(如分页、逻辑删除插件)并扫描BaseMapper接口生成默认SQL。MP通过MybatisPlusInterceptor统一管理拦截器链,扩展了原生MyBatis的原创 2025-08-14 00:11:05 · 956 阅读 · 0 评论 -
MyBatis 一级缓存与二级缓存的源码级深度分析
本文深入分析了MyBatis的一级缓存和二级缓存机制。一级缓存作用于SqlSession级别,默认开启,基于HashMap实现;二级缓存作用于namespace级别,需手动配置,采用ConcurrentHashMap加装饰器模式实现线程安全。文章详细解析了两级缓存的核心类、执行流程、缓存键生成策略及失效时机,重点剖析了一级缓存在BaseExecutor中的实现逻辑和二级缓存的TransactionalCacheManager事务管理机制。通过源码分析揭示了MyBatis如何通过缓存机制避免重复SQL查询,同原创 2025-08-14 00:10:30 · 913 阅读 · 0 评论 -
MyBatis 与 Spring 集成原理 的深入剖析
摘要:MyBatis 与 Spring 集成通过 mybatis-spring 桥接包实现,核心原理包括: 自动管理:SqlSessionFactoryBean 创建 SqlSessionFactory,SqlSessionTemplate 实现线程安全访问; 动态代理:@MapperScan 自动扫描生成 Mapper 接口代理对象,支持依赖注入; 事务集成:通过 DataSourceTransactionManager 实现事务同步,同一事务内共享 SqlSession; 简化配置:Spring Boo原创 2025-08-14 00:10:14 · 632 阅读 · 0 评论 -
MyBatis 源码的深入剖析:本质与核心特性
MyBatis 源码剖析与核心特性解析 MyBatis 是一个半自动化的持久层框架,本质是 JDBC 增强工具,通过 SQL 与代码分离、动态 SQL 和自动映射等特性,在保留 SQL 控制权的同时简化开发。其核心架构包括 SqlSessionFactory、Executor 和动态代理的 Mapper 接口,采用建造者、代理等设计模式实现扩展性。与全自动 ORM 框架相比,MyBatis 更适合需要精细控制 SQL 的场景,但不适合快速原型开发。MyBatis Plus 在其基础上进一步简化 CRUD 操原创 2025-08-14 00:09:39 · 919 阅读 · 0 评论 -
JDBC 源码深度解析
本文深入解析了JDBC架构及核心源码实现。JDBC架构分为四层:Java应用、JDBC API、DriverManager和Driver。核心接口包括Driver、DriverManager、Connection等,分别负责驱动管理、连接建立和数据库操作。以MySQL驱动为例,展示了Driver实现类如何自动注册,以及ConnectionImpl如何管理底层Socket连接和事务状态。源码分析揭示了JDBC如何通过统一接口屏蔽不同数据库差异,实现Java程序与数据库的高效交互。原创 2025-07-14 00:37:56 · 1035 阅读 · 0 评论 -
JPA 底层原理
JPA底层实现基于ORM框架的动态代理与字节码增强技术,通过Persistence Context管理实体状态(Transient/Managed/Detached/Removed)。核心机制包括:脏检查(字节码增强跟踪修改)、延迟加载(代理对象触发查询)、多级缓存(Session/应用/查询缓存)。事务提交时自动同步状态变化,生成对应SQL。高级特性如乐观锁(@Version)和继承映射(SINGLE_TABLE/JOINED)通过特定策略实现。性能优化依赖批处理、语句池等JDBC抽象技术,本质是对象-关原创 2025-07-14 00:14:48 · 1019 阅读 · 0 评论 -
MyBatis 底层架构概览
MyBatis 核心架构解析 MyBatis 是一个基于 JDBC 封装的 ORM 框架,其核心架构包含多个协同工作的组件。SqlSessionFactory 作为入口工厂,负责创建 SqlSession 实例并管理全局配置。SqlSession 封装数据库连接,提供 CRUD 操作和事务管理功能。Executor 作为执行引擎,管理 Statement 生命周期,支持三种执行策略(简单、重用、批量)。StatementHandler 负责将 SQL 配置转换为 JDBC 语句,ParameterHandl原创 2025-07-12 00:20:02 · 767 阅读 · 0 评论 -
MyBatis 底层原理深度解析
MyBatis核心机制解析 MyBatis采用三层架构设计:接口层(SqlSession/Mapper API)、核心处理层(SQL解析/执行/映射)和基础支撑层(连接/事务/缓存)。核心组件协同工作流程为:应用程序通过SqlSession调用Mapper方法,Executor执行请求并通过StatementHandler处理SQL,ParameterHandler设置参数,ResultSetHandler处理结果映射。 关键组件包括: SqlSession:核心操作接口 Executor:SQL执行器(含原创 2025-07-12 00:19:04 · 434 阅读 · 0 评论 -
MyBatis 动态 SQL 的生成原理
MyBatis 动态 SQL 生成原理主要基于 XML 配置解析和动态标签处理。系统通过 XPath 解析器将 XML 中的动态标签转换为 SqlNode 对象树,利用 OGNL 表达式进行条件判断。执行时递归处理各节点,自动拼接 SQL 片段,支持条件判断(if)、循环(foreach)等逻辑。关键设计采用组合模式和责任链模式,最终生成带预编译参数的 SQL 语句,并优化缓存机制提升性能。该机制实现了灵活高效的动态 SQL 生成能力。原创 2025-06-20 21:19:35 · 742 阅读 · 0 评论 -
Hibernate 功能速览
Hibernate是一个开源的Java ORM框架,通过对象关系映射简化数据库交互。核心功能包括:ORM映射(注解配置实体关系)、CRUD操作、HQL查询、事务管理。高级特性支持缓存机制(一/二级缓存)、延迟加载、关联关系映射(1:1,1:N,N:M)、批量操作优化及生命周期监听。适用于企业应用、分布式系统和大数据处理场景。相比原生JDBC,Hibernate显著提升开发效率,自动处理对象映射与事务管理,减少样板代码。其丰富的功能使Java数据库操作更高效、可维护性更强。原创 2025-06-14 00:02:19 · 749 阅读 · 0 评论 -
Hibernate 功能速览
Hibernate是一个开源Java ORM框架,通过对象关系映射简化数据库交互。核心功能包括ORM映射、CRUD操作、HQL查询和事务管理;高级特性涵盖缓存机制、延迟加载、关联关系映射等。适用于企业应用、分布式系统和大数据处理场景。相比原生JDBC,Hibernate显著提升开发效率,减少重复代码,支持自动对象映射和声明式事务管理,同时提供一级/二级缓存优化性能。该框架通过面向对象方式操作数据库,增强了代码可维护性。原创 2025-06-13 13:45:25 · 1075 阅读 · 0 评论 -
JPA 功能速览
JPA(Java Persistence API)是Java EE规范中的ORM标准,提供对象关系映射功能。其核心包括实体类映射注解、EntityManager操作API、JPQL查询语言和事务管理。高级特性涵盖关联关系映射、继承策略、缓存机制、延迟加载和锁机制等。JPA适用于企业应用、微服务架构和大数据处理场景,通过Hibernate等实现提供高效开发。作为规范,JPA定义了接口标准,而Hibernate是其功能更丰富的具体实现,二者结合可提升开发效率和代码可维护性。原创 2025-06-13 13:43:30 · 1022 阅读 · 0 评论 -
MyBatis Plus 功能速览
MyBatis Plus是MyBatis的增强工具,在保留原有特性的基础上提供多项便捷功能。核心功能包括无侵入式增强、简化CRUD操作(通用Mapper和Lambda表达式)、条件构造器、分页插件和代码生成器。高级特性涵盖乐观锁、自动填充字段、逻辑删除、性能分析插件等,适用于快速开发、企业级应用和复杂查询优化场景。与原生MyBatis相比,MyBatis Plus内置更多功能,如通用CRUD方法、Wrapper条件构造和自动代码生成,显著提升开发效率和易用性。原创 2025-06-13 13:32:36 · 494 阅读 · 0 评论 -
MyBatis框架 功能速览
MyBatis是一款轻量级持久层框架,通过XML/注解配置将Java方法与SQL语句映射,简化数据库操作。核心功能包括SQL映射、动态SQL和结果映射,支持复杂查询和对象关系处理。特性涵盖缓存机制、事务管理和丰富API扩展。工作原理为通过SqlSessionFactory创建会话执行SQL。适用于需要灵活控制SQL语句或与数据库紧密交互的场景,具有代码分离、易维护等优势,是Java数据库操作的主流框架之一。原创 2025-06-13 13:26:26 · 659 阅读 · 0 评论
分享