
Mybatis
文章平均质量分 79
Mybatis
__如风__
一切很好,不缺烦恼
展开
-
Mybatis枚举类型转换
为项目中所有枚举类型定一个接口枚举类实现该接口@GetterDISBANDED("已解散", 0),NORMAL("正常", 1);定义通用枚举类型转换器();@Override@Override@Override@Override按照上述源码分析流程,当GroupStatusEnum第一次需要转化数据库的int时,mybatis去寻找类型转换器。我们没有为这种类型定义专门的类型转换器(TypeHandler)。该类不是内部类。原创 2024-05-28 19:55:25 · 1261 阅读 · 0 评论 -
Mybatis分步查询、ResultMap
数据库表使用MySQL官方的。原创 2023-03-30 11:08:36 · 168 阅读 · 0 评论 -
mybatis-plus-generator模板
mybatis-plus-generator模板。适用于IDEA项目结构。原创 2023-03-30 09:04:15 · 392 阅读 · 0 评论 -
Mybatis插件原理
在以下四大对象的创建过程中,出现了pluginAll方法- Excutor 在Configuration的newExecutor方法中- StatementHandler 在Configuration的newStatementHandler方法中- ParameterHandler 在BaseStatementHandler的构造方法中- ResultSetHandler 在BaseStatementHandler的构造方法中其中,- ParameterHandler作为Stat原创 2023-03-30 09:07:06 · 65 阅读 · 0 评论 -
Mybatis缓存
MyBatis一级缓存的生命周期和SqlSession一致。MyBatis的一级缓存最大范围是SqlSession内部,有多个SqlSession或者分布式的环境下,数据库写操作会引起脏数据,建议设定缓存级别为Statement。一级缓存失效四种情况查询条件不同执行了修改操作不同的sqlSession手动清除一级缓存(sqlSession的clearCache方法)总结。原创 2023-03-30 11:07:29 · 155 阅读 · 0 评论 -
Mybatis运行流程源码分析
以XML文件配置为例这一步就是创建XMLParser解析主配置文件以及所有mapper文件的过程,所有的相关信息都被保存在Configuration对象中,最终返回一个DefaultSqlSessionFactory对象。依次解析每一个节点及其子节点对于每一个mapper文件,都有对应的XMLMapperParser解析在XMLStatementBuiler对象中,解析了每个增删改查标签的所有属性,构建了MappedStatement对象。我们在mapper中写的每个CRUD标签,都被解析成了M原创 2023-03-30 11:19:24 · 157 阅读 · 0 评论 -
Spring Mybatis项目多数据源配置
项目中使用到了多种数据库,需要配置多数据源,网上解决办法多种,但看来看去感觉总有点不靠谱,主要自己对于Spring如何管理事务,抽象统一接口供JPA、Mybatis整合,于是再翻了翻Mybatis和Spring事务管理的源码,调试了一次开启事务的数据库访问流程,如下代码所示。原创 2023-03-31 08:43:49 · 647 阅读 · 0 评论