随笔分类 -  后端开发

摘要:建造者模式(Builder Pattern)是一种设计模式,通过多个简单对象逐步构建复杂对象,分离构建过程与表示。适用于对象构建超出构造函数能力的场景,如电脑生产(分部件组装)或Mybatis框架(SqlSessionFactoryBuilder分层构造Configuration对象)。应用实例包括肯德基套餐组合和Java的StringBuilder。 阅读全文
posted @ 2025-06-24 22:08 灯塔下的守望者 阅读(37) 评论(0) 推荐(0)
摘要:本文介绍了 MyBatis 的架构设计和主要构件,包括功能架构分为API接口层、数据处理层和基础支撑层。讨论了 MyBatis 的各构件之间的交互关系,并描述了 MyBatis 的总体流程:加载配置并初始化,接收调用请求,处理操作请求,返回处理结果。通过分析这些内容,可以更好地理解 MyBatis 的内部工作原理和流程。 阅读全文
posted @ 2024-12-16 14:12 灯塔下的守望者 阅读(361) 评论(0) 推荐(0)
摘要:通用 Mapper 是基于 MyBatis 框架的插件,旨在简化单表的增删改查操作。通过这些特性,通用 Mapper 降低了开发复杂度,帮助开发者更专注于业务逻辑的实现。要使用该插件,开发者需要在 Maven 项目的 `pom.xml` 中添加相应的依赖,并确保 MyBatis 和数据库驱动的版本兼容。 阅读全文
posted @ 2024-12-04 16:56 灯塔下的守望者 阅读(95) 评论(0) 推荐(0)
摘要:本文介绍了如何通过自定义插件来深入理解 MyBatis 插件的原理和机制,包括创建 Maven 项目、导入 MyBatis 相关依赖、完善配置文件等。同时还涵盖了插件接口-Interceptor 的相关方法以及自定义插件的实现过程。 阅读全文
posted @ 2024-06-13 13:31 灯塔下的守望者 阅读(241) 评论(0) 推荐(0)
摘要:文章介绍了在根项目中创建了两个新maven模块,一个是名为jhub-user的模块,另一个是名为jhub-common的模块,最终形成了新的项目结构。 阅读全文
posted @ 2023-09-24 17:00 灯塔下的守望者 阅读(75) 评论(0) 推荐(0)
摘要:本文介绍了在安装IDEA、Git、JDK和Maven的基础上,创建一个简单的Maven项目,并配置Maven仓库为阿里云。同时,作者还提到了安装Postman和进行一些Git仓库的清理工作。文章以创建名为'JHub'的项目为例,强调了项目的模块化管理,包括删除自动生成的文件和提交代码到仓库。 阅读全文
posted @ 2023-09-24 16:59 灯塔下的守望者 阅读(182) 评论(0) 推荐(0)
摘要:本文介绍了在macOS上编译OpenJDK的环境准备和步骤,包括安装必要的软件和工具,解决常见错误,以及提供了相关资源链接。文章详细讲解了如何配置Xcode、安装ccache、解决编译错误,并提供了编译OpenJDK的命令。适用于想要在macOS上编译OpenJDK的开发者。 阅读全文
posted @ 2023-09-21 13:34 灯塔下的守望者 阅读(272) 评论(0) 推荐(0)
摘要:该博客介绍了插件的概念及其在 MyBatis 中的应用。MyBatis 插件通过拦截和增强核心组件,如 Executor、StatementHandler、ParameterHandler 和 ResultSetHandler,实现了灵活且可扩展的持久层操作方式。插件的机制利用动态代理技术,使得开发人员能够根据需求选择适合的数据库操作方式,并轻松扩展 MyBatis 的功能。 阅读全文
posted @ 2023-08-24 23:24 灯塔下的守望者 阅读(104) 评论(0) 推荐(0)
摘要:RedisCache 是 MyBatis 的二级缓存实现类,通过操作 jedis 来实现数据的存储和获取。构造方法中通过 RedisConfigurationBuilder 创建 RedisConfig 对象,并使用该对象创建 Jedis 连接池。 阅读全文
posted @ 2023-02-20 22:00 灯塔下的守望者 阅读(97) 评论(0) 推荐(0)
摘要:MyBatis的二级缓存在分布式环境下存在问题,可以使用分布式缓存解决。使用redis作为MyBatis的二级缓存,需要导入mybatis-redis包,并根据配置文件设置redis连接参数。修改Mapper接口和查询方法的注解,开启缓存功能。测试验证结果是否命中缓存,并查看redis缓存内容。 阅读全文
posted @ 2023-02-14 00:56 灯塔下的守望者 阅读(311) 评论(0) 推荐(0)
摘要:MyBatis的一级缓存是默认开启的,在同一个SqlSession中,对于相同的查询语句会先从缓存中查找结果,如果不存在则去数据库查询,并将查询结果保存到缓存中。当SqlSession执行了commit操作时,会清空缓存,以保证数据的一致性。 阅读全文
posted @ 2022-09-06 22:50 灯塔下的守望者 阅读(102) 评论(0) 推荐(0)
摘要:本文介绍了使用 XML 配置方式实现复杂映射的方法,以及在注解开发中通过 @Results、@Result、@One 和 @Many 注解来完成复杂关系的配置,包括一对一查询的模型和语句以及创建 User 和 Order 实体。 阅读全文
posted @ 2022-09-04 22:37 灯塔下的守望者 阅读(109) 评论(0) 推荐(0)
摘要:本文介绍了 MyBatis 常用注解和增删改查操作,包括 @Insert、@Update、@Delete、@Select 等注解的用法,以及数据库配置、实体类 User 和 UserMapper 的示例代码。 阅读全文
posted @ 2022-08-30 17:20 灯塔下的守望者 阅读(727) 评论(0) 推荐(0)
摘要:本文介绍了多对多关系模型中用户表和角色表的关系,以及如何通过查询语句查询所有用户及其对应的角色。通过修改实体类和接口方法,并配置对应的XML文件,展示了查询所有用户及其角色的示例。 阅读全文
posted @ 2022-08-30 14:08 灯塔下的守望者 阅读(480) 评论(0) 推荐(0)
摘要:本文介绍了一对一查询需求下的用户表和订单表关系,展示了如何查询一个订单并同时查询出对应的用户信息。通过创建 User 和 Order 实体,并建立关联,实现了订单和用户信息的查询功能。 阅读全文
posted @ 2022-08-30 11:38 灯塔下的守望者 阅读(54) 评论(0) 推荐(0)
摘要:本文详细介绍了MyBatis的基本流程,包括配置文件加载、SqlSessionFactory工厂创建等,并解析了常用配置,如日志输出、数据源管理、类型别名等。此外,还讨论了动态SQL的实践,包括条件查询、SQL片段抽取等技巧。 阅读全文
posted @ 2022-08-30 11:21 灯塔下的守望者 阅读(242) 评论(0) 推荐(0)
摘要:本文介绍了使用MyBatis进行数据库操作的开发步骤,包括添加MyBatis坐标、创建user数据表、编写User实体类和映射文件UserMapper.xml。通过示例代码展示了相关配置和SQL操作,帮助开发者快速入门MyBatis。 阅读全文
posted @ 2022-08-30 00:56 灯塔下的守望者 阅读(88) 评论(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 灯塔下的守望者 阅读(467) 评论(0) 推荐(0)
摘要:本文介绍了通过使用代理模式优化MyBatis持久层框架中的Dao层代码重复和硬编码问题。通过引入getMapper方法和动态代理,实现Dao层接口的自动生成,简化了整个操作过程模板,同时消除了硬编码,提高了代码的灵活性和可维护性。 阅读全文
posted @ 2022-08-29 23:53 灯塔下的守望者 阅读(58) 评论(0) 推荐(0)
摘要:本文总结了原生 JDBC 开发中存在的问题,包括频繁创建释放数据库连接、SQL 硬编码、结果集解析问题,并提出了解决思路,如使用连接池、将 SQL 抽取到配置文件、使用反射自动映射实体与数据库表。文章还提供了示例代码,演示了问题和解决方案的具体实现。 阅读全文
posted @ 2022-03-06 01:37 灯塔下的守望者 阅读(152) 评论(0) 推荐(0)