
mybatis源码学习
文章平均质量分 94
MQLYES
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
18-21源码剖析——Mybatis整体架构设计、核心组件调用关系、源码环境搭建
到mybatis官网https://mybatis.p2hp.com/,找到仓库地址https://github.com/mybatis/mybatis-3/releases/tag/mybatis-3.5.7,下载源码。我这里用的版本和视频中的一样3.5.7。错误2. 如果报配置文件找不到,就检查build后自己的target目录下,是否包含配置文件。可以试试把pom文件中resource和testResource相关的注释掉,用默认的方式。错误1:如果下面的报错,就在测试类中添加代码。原创 2025-04-16 19:50:42 · 846 阅读 · 0 评论 -
22-23源码剖析——初始化——解析核心配置文件
学习视频资料来源:https://www.bilibili.com/video/BV1R14y1W7yS测试类还是还是和以前一样,不解释了上篇我们讲到下面这行仅将核心配置文件从磁盘加载进内存中,变成输入流inputStream,并没有对核心配置文件进行解析。核心配置文件是通过SqlSessionFactoryBuilder的build方法完成的。下边我们详细进行介绍。2. 核心配置文件解析的准备工作2.1SqlSessionFactoryBuilderSqlSessionFactoryBuild原创 2025-04-16 16:23:41 · 891 阅读 · 0 评论 -
21源码剖析——初始化——加载核心配置文件
Resources类委托给ClassLoaderWrapper加载核心配置文件,ClassLoaderWrapper是个包装器,里边有多个ClassLoader。在ClassLoaderWrapper中选择正确的ClassLoader加载核心配置文件,并处理一些细节问题,可以使得上层的代码的耦合度,使得代码更加清晰。可以看到Resources.getResourceAsStream,仅仅是将配置文件从磁盘加载到内存,转换成了InputStream。并没有解析配置文件,具体的解析逻辑下一篇文章介绍。原创 2025-04-16 14:01:40 · 795 阅读 · 0 评论 -
15-17手写持久层框架——优化和总结
不过这是在测试类中执行的,如果要在项目中实际使用,需要定义UserDao 接口并实现,将上述操作封装进实现类方法中。可以看到结果也可以正确返回了。原创 2025-04-08 20:40:25 · 899 阅读 · 0 评论 -
09-14手写持久层框架——session创建、sql解析、参数设置、结果集封装
并把{}内值解析出来。因为这时的sql是#{}形式,如:select * from user where id = #{id} and username = #{username},而预编译需要的是:select * from user where id =?这一步比较简单,因为我们在上一章解析xml配置文件的时候,已经创建了数据源,并封装金configuration中,这里从透传下来的configuration中直接取即可。,存到一个List parameterMappings中,用于后续设置参数。原创 2025-04-03 18:43:02 · 872 阅读 · 0 评论 -
04-08手写持久层框架——核心配置和映射配置文件解析
项目分为2个模块,ipersistent 和ipersistent-test。ipersistent为框架,ipersistent-test为框架使用端,ipersistent-test依赖ipersistent。视频里是使用maven管理项目,我这里是使用gradle管理项目。原创 2025-04-02 20:05:22 · 751 阅读 · 0 评论 -
01-03手写持久层框架——JDBC问题与框架实现思路
SqlMapConfig.xml存放的是数据库的配置信息和mapper.xml文件的路径。存放mapper.xml的路径,是为了解析时只需提供SqlMapConfig.xml的路径,就能解析出mapper.xml文件的路径,不用传2个路径了。mapper.xml存放sql信息,参数类型、返回值类型。原创 2025-04-01 19:29:56 · 1062 阅读 · 0 评论