
MyBatis
文章平均质量分 80
以实战为导向,深入剖析MyBatis核心架构与功能特性。从基础配置到复杂查询优化,逐步掌握高效持久层开发技巧。结合实际案例,解读SQL映射、缓存机制等要点,助力开发者提升编码效率与数据处理能力,构建稳定可靠的后端应用。
ModelBulider
合作交流vx:modelbulider。计算机硕士,国企Java开发工程师。热爱Python,熟悉深度学习框架如:PyTorch和Paddle。篮球爱好者,AI技术应用探索者,专注于OCR、RAG、LLM等领域的创新落地。期待与您在CSDN交流技术心得。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MyBatis专栏介绍
《MyBatis实战专栏》是一套系统讲解MyBatis持久层框架的开发教程,涵盖从基础配置到高级应用的11个核心主题。专栏通过丰富的代码示例和实战案例,详细解析SQL映射、动态SQL、缓存机制等关键技术,特别适合Java开发者和后端工程师学习。内容设计循序渐进,既包含搭建环境、增删改查等基础操作,也涉及逆向工程、分页插件等实用技巧。该专栏强调实战性,帮助开发者掌握MyBatis的高效数据处理能力,提升项目开发效率。原创 2025-07-15 09:23:01 · 977 阅读 · 0 评论 -
十一、分页插件
本文介绍了MyBatis分页插件PageHelper的使用方法。首先需要在项目中添加依赖,并在MyBatis配置文件中配置插件。使用时通过PageHelper.startPage()开启分页功能,指定当前页码和每页条数。获取分页数据有两种方式:一是直接输出Page对象,二是使用PageInfo类封装分页信息,后者可获取更详细的分页参数,包括总页数、导航页码等。该插件简化了分页实现,提供了页码导航等实用功能。原创 2025-07-15 08:52:39 · 363 阅读 · 0 评论 -
十、MyBatis的逆向工程
摘要:本文介绍了MyBatis逆向工程的实现步骤。首先区分了正向工程(由Java实体类生成数据库表)和逆向工程(由数据库表生成Java实体类、Mapper接口和映射文件)。重点详细说明了逆向工程的配置过程:1)添加MyBatis核心依赖和逆向工程插件;2)创建MyBatis核心配置文件;3)配置generatorConfig.xml文件,指定数据库连接信息、生成策略和表映射;4)执行MBG插件的generate目标生成代码。文中还提供了完整的XML配置示例,并提示了可能出现的JDBC驱动异常问题。原创 2025-07-11 14:01:07 · 1021 阅读 · 0 评论 -
九、MyBatis的缓存
MyBatis缓存机制解析:包含一级缓存(SqlSession级别)和二级缓存(SqlSessionFactory级别)。一级缓存失效条件包括不同SqlSession、不同查询条件、增删改操作或手动清空。二级缓存开启需满足配置条件,且实体类需实现序列化接口,增删改操作会同时使两级缓存失效。缓存查询顺序:二级→一级→数据库。二级缓存支持多种配置策略(LRU/FIFO等)和参数设置(刷新间隔、只读模式等)。原创 2025-07-11 13:57:09 · 363 阅读 · 0 评论 -
八、动态SQL
Mybatis动态SQL技术解决了传统SQL拼接的痛点问题,主要包含以下功能: if标签:通过test属性判断条件,满足时执行SQL片段。为避免语法错误,常在where后添加1=1作为恒成立条件。 where标签:自动添加where关键字,并去除条件中多余的and/or(仅限开头)。 trim标签:灵活控制前缀/后缀的添加或移除(如prefixOverrides去除多余and)。原创 2025-07-10 08:53:09 · 770 阅读 · 0 评论 -
七、自定义映射resultMap
resultMap用于处理字段与属性映射 通过id和result子标签设置主键和普通字段映射 需列出所有属性,即使字段名与属性名一致 字段名与属性名不一致时,可通过别名或全局驼峰转换配置解决 多对一处理方式 级联方式:直接映射关联对象属性 association标签:专门处理多对一关系 分步查询:先查主对象,再根据关联字段查从属对象 一对多处理原创 2025-07-10 08:50:32 · 284 阅读 · 0 评论 -
六、特殊SQL的执行
本文介绍了MyBatis中四种常见的SQL操作技巧:1)使用三种方式实现模糊查询,推荐使用like "%"#{参数}"%"形式;2)批量删除只能使用${}拼接SQL,避免参数被整体引号包裹;3)动态表名查询也需使用${},因为表名不能加引号;4)插入数据获取自增主键,需在mapper.xml中配置useGeneratedKeys和keyProperty属性,主键值会自动填充到实体对象属性中。这些技巧解决了实际开发中的常见需求,如模糊匹配、批量操作、动态表名和主键获取等原创 2025-07-09 08:00:00 · 308 阅读 · 0 评论 -
五、MyBatis的各种查询功能
MyBatis查询结果接收方式总结: 单条数据可通过实体类、List或Map接收 多条数据必须用List<实体类>或List<Map>接收,或用@MapKey注解返回Map<String,Object> 单值查询使用基本类型或包装类接收 无对应实体类时可用Map接收字段键值对 多条Map数据可通过List<Map>或@MapKey转换成结构化Map集合 注意:实体类接收多条数据会抛出TooManyResultsException异常。原创 2025-07-09 08:00:00 · 784 阅读 · 0 评论 -
四、MyBatis获取参数值的两种方式
MyBatis获取参数值的两种方式:${}(字符串拼接)和#{}(占位符赋值)。${}需手动加单引号,#{}自动添加。处理参数分五种情况:1) 单个字面量参数;2) 多个字面量参数(自动存入map,键为arg0/param1);3) 手动map集合参数;4) 实体类对象参数(通过属性名访问);5) @Param注解参数(指定map键名)。原创 2025-07-08 08:55:59 · 802 阅读 · 0 评论 -
三、核心配置文件详解
MyBatis核心配置文件详解 MyBatis核心配置文件需遵循特定标签顺序:properties、settings、typeAliases等。主要功能包括:1)引入properties文件使用${}访问属性;2)settings设置如驼峰命名转换和延迟加载;3)typeAliases配置类型别名,支持单个或包级别设置;4)environments配置多数据源环境,包含事务管理和数据源类型(POOLED/UNPOOLED);5)mappers引入映射文件,支持单个或包扫描方式。原创 2025-07-08 08:51:48 · 311 阅读 · 0 评论 -
二、搭建MyBatis与简单的增删改查
本文介绍了MyBatis开发环境的搭建过程,包括使用Maven构建工具创建工程、配置核心文件mybatis-config.xml、编写Mapper接口和映射文件。详细说明了IDE、MySQL和MyBatis版本信息,以及如何通过junit测试功能并实现事务控制。最后补充了log4j日志功能的集成方法,包含依赖引入和配置文件设置。整个流程涵盖了从工程初始化到数据库操作测试的完整步骤。(149字)原创 2025-07-07 09:01:14 · 770 阅读 · 0 评论 -
一、Mybatis简介
MyBatis是由iBatis发展而来的Java持久层框架,2010年迁移至Google Code并更名,2013年转入GitHub。作为半自动ORM框架,它支持定制化SQL、存储过程和高级映射,简化了JDBC操作,可通过XML或注解配置。相比JDBC的硬编码和Hibernate的全自动映射,MyBatis在SQL灵活性、性能与开发效率间取得平衡,成为轻量级且高效的持久化解决方案。下载地址为GitHub官方仓库。原创 2025-07-07 08:56:38 · 390 阅读 · 0 评论