- 博客(7)
- 收藏
- 关注
原创 Spring 源码学习(一)—— spring 上下文概览
ResourceLoader 接口所定义的功能为对资源进行处理,其拥有一个字符串常量 CLASSPATH_URL_PREFIX 与两个方法;其中 CLASSPATH_URL_PREFIX 常量值为 classpath:,作用为替换配置文件中替代文件的类路径前缀,getResource 方法获取指定位置的 Resource 对象及 getClassLoader 方法则是获取所使用的类加载对象。@Nullable。
2024-10-12 21:54:17 834
原创 Mybatis源码学习(七)——ResultSetHandler 结果处理
ResultSetWrapper 类属性可以分为三类,第一类是 ResultSet 对象及其衍生属性,其中 resultSet 属性为内部封装 ResultSet 对象、columnNames 属性为结果集字段名列表、jdbcTypes 为结果集字段数据库类型列表、classNames 为结果集字段全限定类名列表;第二类为 mybatis 关联属性,只有设置的类型处理器注册属性 typeHandlerRegistry;
2024-09-29 22:10:31 1078
原创 Mybatis源码学习(六)——sql 字符串获取及参数设置过程
从之前对 StatementHandler 类(Mybatis源码学习(五)——StatementHandler-CSDN博客)的分析可发现 mybatis 使用 BoundSql 对象获取 sql 字符串,而 BoundSql 对象的获取则是使用 MappedStatement 参数的 getBoundSql 方法; getBoundSql 方法中首先调用 SqlSource 属性中的 getBoundSql 方法获取 BoundSql 对象,若 BoundSql 对象中的 paramete
2024-09-22 15:41:33 1269
原创 Mybatis源码学习(五)——StatementHandler
StatementHandler 类为 mybatis 执行 Statement 对象核心类,从之前的 Executor 的解析中可以看出所有与数据库交互的方法底层都是通过 StatementHandler 对象与其进行交互;因此为了继续探索 mybatis 与数据库的交互过程,本文将继续对 StatementHandler 进行分析。
2024-09-15 22:14:18 1280
原创 Mybatis源码学习(四)——Executor
根据之前对 SqlSession 类的分析()可以发现 SqlSession 与数据库交互的方法都是通过 Executor 对象进行;因此首先对 Executor 接口进行分析,看其拥有什么方法;第一步我们可以发现 Executor 接口拥有一个 ResultHandler 的常量,但其值却为 null,起作用之后再详述;
2024-09-13 22:08:31 1041
原创 Mybatis源码学习(三)——接口代理(MapperProxy)
使用过 Mybatis 框架的人都很好奇接口方法的实现逻辑及具体方法执行逻辑,因此本篇文章从接口对象的获取开始,最后对方法执行逻辑对框架逻辑进行解析。
2024-09-09 20:30:33 900
原创 Mybatis源码学习(二)——SqlSession
sqlSession 中有 4 组不同的查询方法,即查询单个结果集的 selectOne 方法、使用指定字段对结果集进行标识的 selectMap 方法、获取指定结果集指针的 selectCursor 方法、查询多个结果集的 selectList 方法以及不返回结果直接使用 ResultHandler 对处理结果集的 select 方法;与其他方法一样,事务相关的方法底层也是通过调用 executor 中的相关方法实现对事务的管理的,在对事务进行操作之后,将 dirty 初始化为 false;
2024-09-04 22:58:28 798 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人