1 源码版本介绍

最近一直在研究Mybatis开源框架的源代码,总的来说这个框架的源码理解起来相对还是比较简单轻松的,这里对源码学习过程中的一些关键点儿和思路整理一下做个记录。我这里下载的Myabtis版本是3.5.11版本,附上下载链接地址如下:
源码下载地址:http://github.com/mybatis/mybatis-3

2 如何编译Mybatis源码

首先从github上下载源码包到本地。
Mybatis的项目源码是使用maven构建的,这里我们可以直接用maven进行编译打包。
使用idea打开,项目加载完成之后,就可以使用maven编译打包了。

打包完成的包会自动生成在我们的本地仓库中的指定坐标和版本下面。

现在就可以在我们的测试项目中使用mybatis包了, 同时我们可以在源码中任意的添加我们自己的注释了。

3 使用Mybatis,设置源码调试环境

通过第二步, 我们已经对Mybatis的源码完成了编译, 之后我们就可以在我们自己的项目中使用我们自己打包的Mybatis了。
新建一个maven工程,添加数据库驱动和Mybatis依赖

打开项目结构

将当前项目的mybatis包的源码路径关联成我们自己供github下载下来的mybatis的源码包的路径, 保存修改。

之后如果我们查看源码或者debug的时候, 自动就会关联到我们自己下载的mybatis源码中了, 这样我们就可以在源码中写中文注释、设置断点进行debug调试了。

以上就是mybatis源码编译以及源码调试环境搭建的所有流程了。

Mybatis框架源码笔记(一)之编译Mybatis源码和源码调试环境准备相关推荐

  1. 包裹动态称重扫码测体积快手台DWS的开发和源码

    包裹动态称重扫码测体积快手台DWS的开发和源码 前言 我之前写过一篇关于包裹静态称重扫码测体积快手台DWS的文章,在那篇文章里,我介绍了静态扫码称重测体积的主要设备以及原理.今天这篇文章,主要是介绍包 ...

  2. 7个月,4000+人,500+源码笔记,诚邀你参加源码共读~

    大家好,我是若川.按照从易到难的顺序,前面几期(比如:validate-npm-package-name.axios工具函数)很多都只需要花2-3小时就能看完,并写好笔记. 但收获确实很大.开阔视野. ...

  3. Kafka 3.0 源码笔记(3)-Kafka 消费者的核心流程源码分析

    文章目录 前言 1. 消费者负载均衡的实现 2. 源码分析 2.1 KafkaConsumer 的初始化 2.2 KafkaConsumer 的消息拉取 2.2.1 消息拉取的准备及入口 2.2.2 ...

  4. Java替换mybatis框架SQL日志中的预编译问号“?“

    当我们去排查问题的时候,经常需要查看SQL来判断执行逻辑,但是打开日志后,往往会发现是这样的: 2022-03-07 11:45:25,959 [http-nio2-8080-exec-10] DEB ...

  5. 推荐系统论文源码笔记——依次学习之DKN源码笔记

    github地址:https://github.com/hwwang55/DKN 数据说明 raw_train.txt and raw_test.txt: user_id[TAB]news_title ...

  6. SSM:Spring整合MyBatis框架时出现 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManaged

    QUESTION:出现异常:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction ...

  7. Spring源码分析【6】-ThreadLocal的使用和源码分析

    Spring代码使用到了ThreadLocal java.lang.ThreadLocal.set getMap java.lang.Thread.threadLocals定义 回到set 如果map ...

  8. MyBatis-学习笔记03【03.自定义Mybatis框架】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  9. angularjs源码笔记(3)--injector

    2019独角兽企业重金招聘Python工程师标准>>> 简介 injector是用来做参数自动注入的,例如 function fn ($http, $scope, aService) ...

  10. Spring Boot整合MyBatis框架(XML文件版)

    1.创建数据库.数据库表并插入数据 创建数据库springboot: CREATE DATABASE springboot; 创建数据库表user: CREATE TABLE `user` (`id` ...

最新文章

  1. 双精度数举例_Aladdin阿拉丁:一套土木工程结构无损检测领域先进的双极化天线阵雷达...
  2. 如何在 Linux 中使用 find
  3. lisp实战文库_LISP编程举例
  4. JVM崩溃时:如何调查最严重错误的根本原因
  5. 第8章 函数探索
  6. 有哪些可以让人清醒的创业失败故事
  7. 使用GDAL对HDF数据进行校正
  8. C语言成语设计第一次作业
  9. Android SDK官网下载网址
  10. 最新楚琳web打印控件下载 - 2019适配所有浏览器
  11. 计算机硬件工程师需要学哪些,硬件工程师需要学习哪些知识 上EDA365电子论坛...
  12. 基于SVP的格密码计算复杂性问题
  13. 小程序开发(一)iconfont图标引入
  14. 计算机网络>速率、带宽、吞吐量
  15. “伊”心一意研技术,“伊”丝不苟做服务。Electropure EDI 成功参展第12届上海国际水展
  16. 微信二维码线下推广是否有效
  17. JAVA使用itextpdf插件生成pdf
  18. 完全二叉树与满二叉树的区别(有图)
  19. UE4资源热更打包工具HotPatcher
  20. beta冲刺(3/7)

热门文章

  1. Sitemap和网站地图在线生成工具
  2. html js打开一个新页面跳转,js页面跳转
  3. Linux下rpm包x86、i386、i486、i586、i686和x86_64这些后缀含义
  4. RESTClient 使用
  5. TCP 和 UDP 的区别
  6. 单片机软件反破解 Hex反破解 破解后的hex不能量产
  7. matlab 2017a界面,超详细干货:matlab2017a与 CCS 6.2联调设置
  8. 安装罗斯蒙特HART475协议中文版手操器的系统卡和电池
  9. html5页面关闭的回调函数,js回调函数例子 js 回调函数问题的执行结果想作为返回值...
  10. FFmpeg入门详解之52:ffplay源码分析