该系列文章针对 Mybatis 3.5.1 版本

一、下载 Mybatis 源码

step1、下载 Mybatis-3.5.1 源码

Mybatis 源码仓库地址

下载版本信息如下:

下载后进行解压,并打开 pom 文件,查看pom 中的父级依赖,如下:

根据上述版本信息,下载 Mybatis 父级依赖 mybatis-parent 源码

step2、下载 mybatis-parent-31 源码

Mybatis-parent 源码仓库地址

下载版本信息如下:

二、编译代码,导入 IDEA

在上一步骤,下载了mybaits3.5.1源码,及其父级依赖mybaits-parent-31源码

step1、编译父级依赖 mybatis-parent-31 源码

# 切换到 mybatis-parent 源码目录
cd parent-mybatis-parent-31# install
mvn clean install

step2、编译 mybatis-3.5.1 源码

# 切换到 mybatis 源码目录
cd mybatis-3-mybatis-3.5.1# install
mvn clean -Dmaven.test.skip=true install

编译过程中如果有如下报错信息

解决方案:修改 mybatis-3.5.1 pom 文件,注释掉 maven-pdf-plugin

step3、导入 IDEA

IDEA 中的导入操作如下

导入之后的结果

三、案例测试代码

修改 mybatis-3.5.1 的 artifactId 为mybatis-sound-code-analyze便于测试区分,当前 mybatis 依赖是我们本地自己编译的源码,或者是远程仓库拉取的源码

构建测试项目 mybatis-using-case

项目结构如下

项目中准备了 mybatis 执行需要的基础数据:mybatis-config.xml,domain,mapper,xml 等。

编写简单的测试代码,并运行,如下:

代码运行过程可能遇到的问题

控制台错误信息如下:

Cause: java.lang.IllegalStateException: Cannot enable lazy loading because Javassist is not available. Add Javassist to your classpath.

解决方案

参考地址

在 pom 文件中引入:Javassist 依赖

<dependency><groupId>org.javassist</groupId><artifactId>javassist</artifactId><version>3.24.1-GA</version>
</dependency>

delphi查看源码版本_[Mybatis]-IDEA导入Mybatis源码相关推荐

  1. 查看Python的版本_查看当前安装Python的版本

    一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...

  2. idea如何反编译字节码指令_美团点评:Java字节码增强技术,线上问题诊断利器...

    作者简介:泽恩,美团到店住宿业务研发团队工程师.文章转载于公众号:美团技术团队 1. 字节码 1.1 什么是字节码? Java之所以可以"一次编译,到处运行",一是因为JVM针对各 ...

  3. 奇店社区团购智慧电商V1.3.9版本_团购小程序源码

    简介: 产品描述: [奇店社区团购智慧电商]界面进行重构更贴近消费者使用习惯,首页可以推荐更多商品,分类页也更便与搜寻商品; 其中视频内容导购,便于引导消费者(不会使用不会操作不会制作等客户)下单,减 ...

  4. 怎样查看电脑系统版本_用什么软件查维修记录 思域HATCHBACK怎样查询维保记录_汽车事故车查询...

    请点击上方快速关注 思域HATCHBACK很火.这款被誉为"国产Type R"的思域HATCHBACK版本在三厢车的基础上,集成了更运动化乃至更具战斗感的套件包围.中置排气和手动变 ...

  5. python3 socketserver源码解析_解读python中SocketServer源码

    再看继承 真正的大餐来之前,还是来点儿开胃菜!回顾一下关于类的继承的知识: 我们先看上面的代码,这是一个简单的类继承,我们可以看到父类Base和子类Son,它们中各有一个Testfunc方法,当我们实 ...

  6. 怎样查看电脑系统版本_微信7.0.0自动更新后怎样去还原以前的旧版本?

    今天"微信自动更新"上热搜了,不少安卓手机用户表示:今天早上打开微信,界面一片白,吓一跳,以为点错了.最后发现原来是自动更新到了7.0.0版本,但是真的,不习惯,还是喜欢以前那个老 ...

  7. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事

    作者:muwoo 转发链接:https://github.com/muwoo/blogs/blob/master/src/Vue/2.md 目录 入口开始解读Vue源码系列(一)--造物创世 入口开始 ...

  8. 九龙擒庄指标源码破译_九龙擒庄指标源码破译_破译股市密码

    K线密码非原创(主图源码贴图) 您正在下载的是:破译K线密码非原创(主图源码贴图)破译K线密码其实就是趋势射线指标.本人认为是对趋势射线指标的用法作了很好的解释.3),L,3),L,0),7),H,7 ...

  9. gradle 查看依赖类库版本_使用Gradle命令查看项目中库的依赖关系

    在Terminal中,可以通过 gradle 的命令查看项目中所使用库的版本,并且可以更加直观看到库之间的依赖关系.同时它们可以帮助您跟踪并解决与库版本冲突有关的任何问题.Building Andro ...

最新文章

  1. 设计模式 (3) : 单例模式的几种方法
  2. Vmware16一打开虚拟机就蓝屏
  3. cf1107e uva10559区间dp升维
  4. Linux万兆网络配置
  5. Android 如何自定义EditText 下划线?
  6. 如何制作好一个提交按扭---我是个爱折腾的人
  7. hdu acmsteps 2.1.3 Cake
  8. atitit. 深入理解Cohesion)原理ad  attilax大总结
  9. 解读《美国国家BIM标准》– BIM能力成熟度模型(五)
  10. [daily][device] linux添加打印机
  11. OSChina 周六乱弹 —— 召唤养我的富婆
  12. VUE入门-VUE初识者的福音
  13. Android 手机遥控器添加模拟鼠标功能
  14. Java判断单个字符是否为空格
  15. socket.io连接域名
  16. 飞行机的精确定位问题
  17. 你的Scrum迭代够精益吗?看完就全明白了
  18. android 设置横屏竖屏
  19. 详解GPFS文件系统架构、组网和Building Block
  20. 初学 Sliding Window 之个人笔记

热门文章

  1. angular1.2.27_Angular 8 + Spring Boot 2.2:立即构建一个CRUD应用程序!
  2. jdk11 默认收集器_JDK 11:新的默认收集方法toArray(IntFunction)
  3. netflix 模式创新_创新设计模式:工厂模式
  4. monolith_将Java EE Monolith雕刻成微服务
  5. netflix_学习Netflix管理员–第2部分
  6. java分割句子_关于Java的一些句子
  7. jaxb_JAXB –新手的观点,第1部分
  8. 关于“最终”的最终决定
  9. java8 linq4j_Java 8仍然需要LINQ吗? 还是比LINQ更好?
  10. j2ee可以用于前端开发吗_用于J2EE开发的Cloud IDE