1.2.下载 Mybatis 源码并导入至 IDE 工具

优质
小牛编辑
116浏览
2023-12-01

下载Mybatis的源码

打开浏览器输入网址https://github.com/mybatis/mybatis-3即可访问Mybatis在Github中的仓库。

截止到目前为止,mybatis的最新版本是3.5.3-SNAPSHOT,但是因为我之前学习过程中使用的版本是3.5.0-SNAPSHOT,因此这篇笔记还是针对3.5.0-SNAPSHOT来写。

依赖环境的安装

  • jdk(1.8+)

    因为mybatis3使用了JDK1.8的一些新特性,所以此处需要使用JDK 1.8+的版本。

    现在通过官网下载 JDK8+ 的版本需要登录。

    • 获取jdk

      点击进入Oracle JDK下载界面

      Windows 点击下载Oracle JDK 8u181

      $session = New-Object Microsoft.PowerShell.Commands.WebRequestSession;
      $cookie = New-Object System.Net.Cookie;
      $cookie.Name = "oraclelicense";
      $cookie.Value = "accept-securebackup-cookie";
      $cookie.Domain = ".oracle.com";$session.Cookies.Add($cookie);
      iwr  -Method GET -WebSession $session -uri https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz  -OutFile jdk.tar.gz
      

      linux 点击下载Oracle JDK 8u181

      wget  -nc --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
      

      mac 点击下载Oracle JDK 8u181

  • maven

    • windows

      • 下载Maven

        点击进入maven的下载页面

        点击下载maven TAR GZ

      • 解压安装包,并进行简单的配置

        点击下载解压工具:7zip

        解压获取到的maven压缩文件,得到名为apache-maven-3.6.1的目录,根据自己的需要将其移动到指定的文件夹内,其内部文件大致如下:

        进入conf目录,简单编辑其中的settings.xml文件:

        <?xml version="1.0" encoding="UTF-8"?>
        <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <!--
        配置maven本地仓库存储地址,尽量配置该地址,避免下载的jar包存放在C盘内。
        如果是非windows系统,根据自己的需求变更该参数。
        -->
        <localRepository>F:\data\repository</localRepository>
        <mirrors>
        <!--
        配置阿里云中央仓库,提高下载jar包的速度
        -->
        <id>nexus-public-snapshots</id>
        <mirrorOf>*</mirrorOf>
        <mirrorOf>public-snapshots</mirrorOf>
        <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
        </mirror>
        </mirrors>
        </settings>
        
      • 添加环境变量

        这一步根据自己的需要决定是否添加到环境变量。

        首先回到maven工程的根目录:

        按住键盘的shift键的同时,点击鼠标右键,选择在此处打开Powerschell窗口

        在弹出的Powerschell窗口中,执行下列命令(直接一次性复制下列四条命令执行即可):

        $command='-noprofile -command ' + "`$current=`'$pwd`'" + ';[environment]::SetEnvironmentVariable(""""MVN_HOME""",$current,""""machine"""");'
        
        Start-Process -FilePath powershell.exe   -ArgumentList $command  -Verb runas;
        
        $command='-noprofile -command [environment]::SetEnvironmentVariable(""""path""",$env:path+"""";%MVN_HOME%\bin;"""",""""machine"""");'
        
        Start-Process -FilePath powershell.exe   -ArgumentList $command  -Verb runas;
        

        命令执行完毕,如果没有报错,重新开启一个Powershell窗口执行mvn -v将会打印出该maven工程的版本信息。

    • linux

        wget -nc http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
        tar -zxvf apache-maven-3.6.1-bin.tar.gz
        #配置环境变量
        mv apache-maven-3.6.1 /usr/local/maven
        maven_env_exist=$(awk '{print}' /etc/profile |grep "#MAVEN_SETTINGS@JPANDA" &>>/dev/null;echo $?)
        if [ $maven_env_exist -gt 0 ]
          then
            echo "
        #MAVEN_SETTINGS@JPANDA
        export M2_HOME=/usr/local/maven
        export PATH=\$M2_HOME/bin:\$PATH
        #MAVEN
        ">>/etc/profile
        fi
        ln -s /usr/local/maven/bin /usr/local/bin/maven
        source /etc/profile
      

      进入/usr/local/maven/conf目录,简单编辑其中的settings.xml文件:

      <?xml version="1.0" encoding="UTF-8"?>
      <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <!--
      配置maven本地仓库存储地址,尽量配置该地址,避免下载的jar包存放在C盘内。
      如果是非windows系统,根据自己的需求变更该参数。
      -->
      <localRepository>/data/maven/repository</localRepository>
      <mirrors>
      <!--
      配置阿里云中央仓库,提高下载jar包的速度
      -->
      <id>nexus-public-snapshots</id>
      <mirrorOf>*</mirrorOf>
      <mirrorOf>public-snapshots</mirrorOf>
      <url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
      </mirror>
      </mirrors>
      </settings>
      

      输入命令mvn -v查看当前maven工程的版本信息。

  • git

    • windows

      • 下载 Git For Windows

        点击进入Git For Windows下载页面

        点击直接下载 Git For Windows

      • 安装

        启动获取到的Git-2.22.0-64-bit.exe安装程序,

        点击Next按钮继续执行安装程序,选择安装目录。

        点击Next按钮进入组件选择界面。

        根据自己的需求选择组件,这里我除了最后一个更新检查Check daily for Git for windows updates之外全部选中。

        点击Next按钮,选择对应的开始菜单文件夹。

        这里我是用默认的Git目录,点击Next按钮,进入选择Git编辑器界面。

        这里我选择使用VIM,之后一路点击Next继续。

        最后点击Install按钮完成最后的安装操作。

    • linux

      执行下列命令即可完成安装:

      yum install -y git
      

获取Mybatis源码并导入至IDE工具

  • step1: 获取mybatis源码

    这里获取Mybatis的源码有两种方式,一种是通过github获取Mybatis官方源码,一种是通过gitee获取翻译成中文的源码。

    在这里两种源码在代码层面上是一致的,区别仅限于我为gitee上的源码添加了大量中文注释。

    在自己的工作目录下执行git命令克隆Mybatis源码(二选一):

    • 一: 通过github获取Mybatis官方源码,鉴于国内访问github太慢,我在giteefork了mybatis源码,因此下面两个命令得到的代码是一样的。

      git clone -b mybatis-3.5.0 https://github.com/mybatis/mybatis-3.git
      或者
      git clone -b mybatis-3.5.0 https://gitee.com/topanda/mybatis-3-original.git
      

      该命令的作用是克隆标签为mybatis-3.5.0的Mybatis源码到当前目录下。

    • 二: 通过gitee获取翻译成中文的源码

      git clone https://gitee.com/topanda/mybatis-3.git
      

      该命令的作用是克隆Mybatis源码到当前目录下。

    此时在我们的工作目录下应该多了一个名为mybatis-3-original或者mybatis-3的文件目录。

    目录的名称取决于使用的git命令,如果是通过gitee获取的英文源码,则名称为mybatis-3-original,否则为mybatis-3.

  • step2:导入源码到IDE工具

    在获取到mybatis的源码之后我们可以将该源码导入到自己常用的IDE工具内,因为笔者常用IntelliJ IDEA,所以这里建议使用IntelliJ IDEA,当然你依然可以根据自己的喜好,选择自己喜欢的工具。

    • 将工程导入至IDEA

      此处使用的IntelliJ IDEA版本是IntelliJ IDEA 2018.2 (Ultimate Edition)

      点击IDEA左上角的File按钮,然后选择Open按钮。 之后在弹出框内选择Mybaits源码所处的目录,点击OK即可将源码导入至IDEA中。

      导入源码之后,等待IDEA编译完成即可。

    • 将工程导入至Eclipse

      此处使用的Elipse版本是Elipse Photon Release (4.8.0).

      点击Eclipse左上角的File按钮,选择弹出的Open Projcets From File System.

      在弹出框内点击Directory按钮,选择Mybaits源码所处的目录,点击确定。 等待Eclipse校验通过,点击左下角的Finish按钮,即可完成导入工作。

    此时我们在项目根目录下执行mvn clean compile命令即可完成源码的编译工作。

修改POM文件,添加依赖便于后续使用

修改项目根目录下的pom.xml文件,在其dependencies代码块中添加下列代码:

<!-- MySQL相关 -->
  <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.17</version>
    <scope>test</scope>
  </dependency>
  <!--添加lombok依赖-->
  <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
  <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
    <scope>provided</scope>
  </dependency>
  <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.56</version>
    <scope>test</scope>
  </dependency>

这里唯一需要注意的就是mysql-connector-java的版本号需要和使用的Mysql数据库保持一致。

添加一个新的单元测试包,用于后续的学习使用

mybatis工程的src/test/java/org/apache/目录下,新建一个名为learning的子包,该包将会用于存放后期学习使用的测试类。

调整日志级别

修改mybatis工程src/test/java/resources/目录下的log4j.properties配置文件。

### 全局日志级别为ERROR
log4j.rootLogger=ERROR, stdout
### mybatis中的日志级别为INFO级别
log4j.logger.org.apache.ibatis=INFO
### 自定义学习使用的包日志级别为DEBUG,降低级别为DEBUG目的是为了打印SQL内容
log4j.logger.org.apache.learning=DEBUG

log4j.logger.org.apache.ibatis.session.AutoMappingUnknownColumnBehavior=WARN, lastEventSavedAppender

### Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

log4j.appender.lastEventSavedAppender=org.apache.ibatis.session.AutoMappingUnknownColumnBehaviorTest$LastEventSavedAppender