随笔分类 -  MyBatis

MyBatis ORM
摘要:本文介绍了 MyBatis 的架构设计和主要构件,包括功能架构分为API接口层、数据处理层和基础支撑层。讨论了 MyBatis 的各构件之间的交互关系,并描述了 MyBatis 的总体流程:加载配置并初始化,接收调用请求,处理操作请求,返回处理结果。通过分析这些内容,可以更好地理解 MyBatis 的内部工作原理和流程。 阅读全文
posted @ 2024-12-16 14:12 灯塔下的守望者 阅读(326) 评论(0) 推荐(0)
摘要:本文介绍了如何通过自定义插件来深入理解 MyBatis 插件的原理和机制,包括创建 Maven 项目、导入 MyBatis 相关依赖、完善配置文件等。同时还涵盖了插件接口-Interceptor 的相关方法以及自定义插件的实现过程。 阅读全文
posted @ 2024-06-13 13:31 灯塔下的守望者 阅读(183) 评论(0) 推荐(0)
摘要:该博客介绍了插件的概念及其在 MyBatis 中的应用。MyBatis 插件通过拦截和增强核心组件,如 Executor、StatementHandler、ParameterHandler 和 ResultSetHandler,实现了灵活且可扩展的持久层操作方式。插件的机制利用动态代理技术,使得开发人员能够根据需求选择适合的数据库操作方式,并轻松扩展 MyBatis 的功能。 阅读全文
posted @ 2023-08-24 23:24 灯塔下的守望者 阅读(65) 评论(0) 推荐(0)
摘要:RedisCache 是 MyBatis 的二级缓存实现类,通过操作 jedis 来实现数据的存储和获取。构造方法中通过 RedisConfigurationBuilder 创建 RedisConfig 对象,并使用该对象创建 Jedis 连接池。 阅读全文
posted @ 2023-02-20 22:00 灯塔下的守望者 阅读(54) 评论(0) 推荐(0)
摘要:MyBatis的二级缓存在分布式环境下存在问题,可以使用分布式缓存解决。使用redis作为MyBatis的二级缓存,需要导入mybatis-redis包,并根据配置文件设置redis连接参数。修改Mapper接口和查询方法的注解,开启缓存功能。测试验证结果是否命中缓存,并查看redis缓存内容。 阅读全文
posted @ 2023-02-14 00:56 灯塔下的守望者 阅读(263) 评论(0) 推荐(0)
摘要:MyBatis的一级缓存是默认开启的,在同一个SqlSession中,对于相同的查询语句会先从缓存中查找结果,如果不存在则去数据库查询,并将查询结果保存到缓存中。当SqlSession执行了commit操作时,会清空缓存,以保证数据的一致性。 阅读全文
posted @ 2022-09-06 22:50 灯塔下的守望者 阅读(72) 评论(0) 推荐(0)
摘要:本文介绍了使用 XML 配置方式实现复杂映射的方法,以及在注解开发中通过 @Results、@Result、@One 和 @Many 注解来完成复杂关系的配置,包括一对一查询的模型和语句以及创建 User 和 Order 实体。 阅读全文
posted @ 2022-09-04 22:37 灯塔下的守望者 阅读(90) 评论(0) 推荐(0)
摘要:本文介绍了 MyBatis 常用注解和增删改查操作,包括 @Insert、@Update、@Delete、@Select 等注解的用法,以及数据库配置、实体类 User 和 UserMapper 的示例代码。 阅读全文
posted @ 2022-08-30 17:20 灯塔下的守望者 阅读(703) 评论(0) 推荐(0)
摘要:本文介绍了多对多关系模型中用户表和角色表的关系,以及如何通过查询语句查询所有用户及其对应的角色。通过修改实体类和接口方法,并配置对应的XML文件,展示了查询所有用户及其角色的示例。 阅读全文
posted @ 2022-08-30 14:08 灯塔下的守望者 阅读(460) 评论(0) 推荐(0)
摘要:本文介绍了一对一查询需求下的用户表和订单表关系,展示了如何查询一个订单并同时查询出对应的用户信息。通过创建 User 和 Order 实体,并建立关联,实现了订单和用户信息的查询功能。 阅读全文
posted @ 2022-08-30 11:38 灯塔下的守望者 阅读(33) 评论(0) 推荐(0)
摘要:本文详细介绍了MyBatis的基本流程,包括配置文件加载、SqlSessionFactory工厂创建等,并解析了常用配置,如日志输出、数据源管理、类型别名等。此外,还讨论了动态SQL的实践,包括条件查询、SQL片段抽取等技巧。 阅读全文
posted @ 2022-08-30 11:21 灯塔下的守望者 阅读(217) 评论(0) 推荐(0)
摘要:本文介绍了使用MyBatis进行数据库操作的开发步骤,包括添加MyBatis坐标、创建user数据表、编写User实体类和映射文件UserMapper.xml。通过示例代码展示了相关配置和SQL操作,帮助开发者快速入门MyBatis。 阅读全文
posted @ 2022-08-30 00:56 灯塔下的守望者 阅读(67) 评论(0) 推荐(0)
摘要:MyBatis(原名iBatis)是一个半自动轻量级的ORM持久层框架,起源于Apache软件基金会的iBatis项目,2010年迁移到Google Code并更名为MyBatis,2013年再迁移到GitHub。该框架通过定制化SQL、存储过程和高级映射,避免了JDBC代码,支持使用简单的XML或注解配置实现类、接口和POJO映射为数据库记录。文章还介绍了ORM思想,对比了MyBatis和Hibernate,强调了MyBatis的优势,着重于业务和数据的分离。 阅读全文
posted @ 2022-08-30 00:04 灯塔下的守望者 阅读(402) 评论(0) 推荐(0)
摘要:本文介绍了通过使用代理模式优化MyBatis持久层框架中的Dao层代码重复和硬编码问题。通过引入getMapper方法和动态代理,实现Dao层接口的自动生成,简化了整个操作过程模板,同时消除了硬编码,提高了代码的灵活性和可维护性。 阅读全文
posted @ 2022-08-29 23:53 灯塔下的守望者 阅读(33) 评论(0) 推荐(0)
摘要:本文总结了原生 JDBC 开发中存在的问题,包括频繁创建释放数据库连接、SQL 硬编码、结果集解析问题,并提出了解决思路,如使用连接池、将 SQL 抽取到配置文件、使用反射自动映射实体与数据库表。文章还提供了示例代码,演示了问题和解决方案的具体实现。 阅读全文
posted @ 2022-03-06 01:37 灯塔下的守望者 阅读(88) 评论(0) 推荐(0)
摘要:本文介绍了缓存的概念,并着重介绍了MyBatis对缓存的支持,包括一级缓存和二级缓存。一级缓存是SqlSession级别的,而二级缓存是Mapper级别的,能够提高系统的响应速度。 阅读全文
posted @ 2021-12-05 01:01 灯塔下的守望者 阅读(56) 评论(0) 推荐(0)