下载Mybatis源码并导入至IDE工具
下载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
$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
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
-
maven
-
windows
-
下载Maven
-
解压安装包,并进行简单的配置
点击下载解压工具: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-2.22.0-64-bit.exeGit-2.22.0-64-bit.exe
安装程序,点击
Next
按钮继续执行安装程序,选择安装目录。
点击
组件选择界面Next
按钮进入组件选择界面。根据自己的需求选择组件,这里我除了最后一个更新检查
Check daily for Git for windows updates
之外全部选中。点击
选择对应的开始菜单文件夹Next
按钮,选择对应的开始菜单文件夹。这里我是用默认的
选择Git编辑器界面Git
目录,点击Next
按钮,进入选择Git编辑器界面。这里我选择使用
Next Next Next Next Next NextVIM
,之后一路点击Next
继续。最后点击
Install
按钮完成最后的安装操作。 -
-
linux
执行下列命令即可完成安装:
yum install -y git
-
获取Mybatis源码并导入至IDE工具
-
step1: 获取mybatis源码
这里获取Mybatis的源码有两种方式,一种是通过github获取Mybatis官方源码,一种是通过gitee获取翻译成中文的源码。
在这里两种源码在代码层面上是一致的,区别仅限于我为
gitee
上的源码添加了大量中文注释。在自己的工作目录下执行
git
命令克隆Mybatis
源码(二选一):- 一:
通过github获取Mybatis官方源码,鉴于国内访问github
太慢,我在gitee
fork了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)
点击
选择Open按钮IDEA
左上角的File
按钮,然后选择Open
按钮。
之后在弹出框内选择
将源码导入至IDEA中Mybaits
源码所处的目录,点击OK
即可将源码导入至IDEA
中。导入源码之后,等待IDEA编译完成即可。
- 将工程导入至
Eclipse
此处使用的
Elipse
版本是Elipse Photon Release (4.8.0)
.点击
Open Projcets From File SystemEclipse
左上角的File
按钮,选择弹出的Open Projcets From File System
.
在弹出框内点击
选择Mybaits源码所处的目录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
网友评论