教你一步到位部署運(yùn)行MyBatis3源碼(保姆級(jí))
源碼部署
下載
mybatis3中文網(wǎng)址:mybatis.org/mybatis-3/z…
mybatis3下載地址:github.com/mybatis/myb…
mybatis父工程下載地址:github.com/mybatis/par…
點(diǎn)擊鏈接下載zip包,注意對(duì)應(yīng)版本(本文為穩(wěn)妥起見下載了前人趟過坑的mybatis3的3.5.3版本)。
該項(xiàng)目pom文件中有引入mybatis-parent
工程,需按照對(duì)應(yīng)版本下載,切記!
下載后解壓。
編譯安裝
使用CMD編譯安裝項(xiàng)目前需要先配置好maven系統(tǒng)變量和本地倉(cāng)庫(kù)路徑,不然會(huì)下載依賴到到C盤隱藏目錄.m2中。
環(huán)境變量截圖:
變量path:
maven 下config文件中setting.xml
中配置:
切換到你下載的mybatis-parent目錄打開cmd:
執(zhí)行命令:mvn clean install -Dmaven.test.skip=true
等待BUILD SUCCESS。
或者IDEA open項(xiàng)目自己clean install也不會(huì)報(bào)錯(cuò)
接下來切換到你下載的mybatis源碼目錄:
為防止編譯失敗需要先注釋掉pom.xml
文件的maven-pdf-plugin
插件:
<!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> </plugin>-->
執(zhí)行命令:mvn clean install -Dmaven.test.skip=true
等待一下,中間不要管,等build成功。
idea導(dǎo)入
- IDEA 新建Maven項(xiàng)目后先不進(jìn)行操作(本人項(xiàng)目名為
source-mybatis
); ctrl+shift+ alt+ s
打開項(xiàng)目配置,將兩個(gè)項(xiàng)目添加進(jìn)module中,至此源碼導(dǎo)入結(jié)束。
demo測(cè)試
先貼一個(gè)source-mybatis
項(xiàng)目截圖:
先貼一個(gè)pom文件的依賴,注意mybatis.version
的版本一定要是自己源碼
的版本;
我本地是mysql8
,實(shí)際需按照自己情況導(dǎo)入依賴和配置。
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <junit.version>4.13.2</junit.version> <mybatis.version>3.5.3</mybatis.version> <mysql.version>8.0.11</mysql.version> <druid.version>1.1.9</druid.version> </properties> <dependencies> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- Mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version> </dependency> <!-- 連接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid.version}</version> </dependency> <!-- Junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.javassist/javassist --> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.26.0-GA</version> </dependency> </dependencies> <build> <!-- 加載配置文件 --> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> </build>
下面貼一下SqlSessionConfig.xml
配置文件的內(nèi)容:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> <typeAliases> <package name="com.yang.entity"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!-- dirver根據(jù)自身mysql版本來 --> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="username" value="root"/> <property name="password" value="root123456"/> <!-- mysql8要加:serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true--> <property name="url" value="jdbc:mysql://localhost:3306/news?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true"/> </dataSource> </environment> </environments> <mappers> <package name="com.yang.mapper"/> </mappers> </configuration>
實(shí)體類和mapper正常寫,和平常項(xiàng)目沒有任何區(qū)別,不貼代碼了;
測(cè)試類代碼如下:
@Test public void test() throws IOException { InputStream input = Resources.getResourceAsStream("SqlSessionConfig.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(input); SqlSession sqlSession = sessionFactory.openSession(); LevelDao dao = sqlSession.getMapper(LevelDao.class); List<Level> all = dao.findAll(); for (Level level : all) { System.out.println(level); } }
接下來我們debug執(zhí)行測(cè)試方法,在第四行處打斷點(diǎn)是可以在IDEA面板中跳轉(zhuǎn)到我們的mybatis源碼的類文件中的,接下來我們就可以自己寫注釋,來學(xué)習(xí)mybatis3的底層源碼。
至此結(jié)束,親測(cè)這套流程是沒什么問題的,趕快來學(xué)習(xí)吧。
總結(jié)
到此這篇關(guān)于部署運(yùn)行MyBatis3源碼的文章就介紹到這了,更多相關(guān)部署運(yùn)行MyBatis3源碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何使用jenkins實(shí)現(xiàn)發(fā)布部分更新文件
這篇文章主要介紹了如何使用jenkins實(shí)現(xiàn)發(fā)布部分更新文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Java使用httpRequest+Jsoup爬取紅藍(lán)球號(hào)碼
本文將結(jié)合實(shí)例代碼,介紹Java使用httpRequest+Jsoup爬取紅藍(lán)球號(hào)碼,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07一篇超詳細(xì)的Spring Boot整合Mybatis文章
大家都知道springboot搭建一個(gè)spring框架只需要秒秒鐘。下面通過實(shí)例代碼給大家介紹一下springboot與mybatis的完美融合,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2021-07-07Java實(shí)現(xiàn)二叉樹的示例代碼(遞歸&迭代)
二叉樹(Binary?tree)是樹形結(jié)構(gòu)的一個(gè)重要類型。本文將利用Java語(yǔ)言實(shí)現(xiàn)二叉樹,文中的示例代碼講解詳細(xì),需要的同學(xué)可以參考一下2022-03-03布隆過濾器詳解以及其在Java中的實(shí)際應(yīng)用
布隆過濾器是一種數(shù)據(jù)結(jié)構(gòu),比較巧妙的概率型數(shù)據(jù)結(jié)構(gòu)(probabilistic data structure),特點(diǎn)是高效地插入和查詢,這篇文章主要給大家介紹了關(guān)于布隆過濾器詳解以及其在Java中的實(shí)際應(yīng)用,需要的朋友可以參考下2023-12-12spring?boot常見get?、post請(qǐng)求參數(shù)處理、參數(shù)注解校驗(yàn)、參數(shù)自定義注解校驗(yàn)問題解析
這篇文章主要介紹了spring?boot常見get?、post請(qǐng)求參數(shù)處理、參數(shù)注解校驗(yàn)、參數(shù)自定義注解校驗(yàn),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09Java OCR tesseract 圖像智能文字字符識(shí)別技術(shù)實(shí)例代碼
這篇文章主要介紹了Java OCR tesseract 圖像智能文字字符識(shí)別技術(shù)實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-06-06java實(shí)現(xiàn)任意矩陣Strassen算法
這篇文章主要介紹了java實(shí)現(xiàn)任意矩陣Strassen算法的相關(guān)資料,需要的朋友可以參考下2016-02-02