教你一步到位部署运行MyBatis3源码(保姆级)

目录
  • 源码部署
    • 下载
    • 编译安装
    • idea导入
    • demo测试
  • 总结

源码部署

下载

mybatis3中文网址:mybatis.org/mybatis-3/z…

mybatis3下载地址:github.com/mybatis/myb…

mybatis父工程下载地址:github.com/mybatis/par…

点击链接下载zip包,注意对应版本(本文为稳妥起见下载了前人趟过坑的mybatis3的3.5.3版本)。

该项目pom文件中有引入mybatis-parent工程,需按照对应版本下载,切记!

下载后解压。

编译安装

使用CMD编译安装项目前需要先配置好maven系统变量和本地仓库路径,不然会下载依赖到到C盘隐藏目录.m2中。

环境变量截图:

变量path:

maven 下config文件中setting.xml中配置:

切换到你下载的mybatis-parent目录打开cmd:

执行命令:mvn clean install -Dmaven.test.skip=true

等待BUILD SUCCESS。

或者IDEA open项目自己clean install也不会报错

接下来切换到你下载的mybatis源码目录:

为防止编译失败需要先注释掉pom.xml文件的maven-pdf-plugin插件:

      <!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pdf-plugin</artifactId>
      </plugin>-->

执行命令:mvn clean install -Dmaven.test.skip=true

等待一下,中间不要管,等build成功。

idea导入

  • IDEA 新建Maven项目后先不进行操作(本人项目名为source-mybatis);
  • ctrl+shift+ alt+ s 打开项目配置,将两个项目添加进module中,至此源码导入结束。

demo测试

先贴一个source-mybatis项目截图:

先贴一个pom文件的依赖,注意mybatis.version的版本一定要是自己源码的版本;

我本地是mysql8,实际需按照自己情况导入依赖和配置。

<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配置文件的内容:

<?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根据自身mysql版本来 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="username" value="root"/>
                <property name="password" value="root123456"/>
                <!-- mysql8要加:serverTimezone=Asia/Shanghai&amp;useSSL=false&amp;allowPublicKeyRetrieval=true-->
                <property name="url" value="jdbc:mysql://localhost:3306/news?characterEncoding=utf8&amp;serverTimezone=Asia/Shanghai&amp;useSSL=false&amp;allowPublicKeyRetrieval=true"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <package name="com.yang.mapper"/>
    </mappers>
</configuration>

实体类和mapper正常写,和平常项目没有任何区别,不贴代码了;

测试类代码如下:

    @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执行测试方法,在第四行处打断点是可以在IDEA面板中跳转到我们的mybatis源码的类文件中的,接下来我们就可以自己写注释,来学习mybatis3的底层源码。

至此结束,亲测这套流程是没什么问题的,赶快来学习吧。

总结

到此这篇关于部署运行MyBatis3源码的文章就介绍到这了,更多相关部署运行MyBatis3源码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring3 整合MyBatis3 配置多数据源动态选择SqlSessionFactory详细教程

    一.摘要 这篇文章将介绍Spring整合Mybatis 如何完成SqlSessionFactory的动态切换的.并且会简单的介绍下MyBatis整合Spring中的官方的相关代码. Spring整合MyBatis切换SqlSessionFactory有两种方法 第一. 继承SqlSessionDaoSupport,重写获取SqlSessionFactory的方法. 第二.继承SqlSessionTemplate 重写getSqlSessionFactory.getConfiguration和Sq

  • 教你一步到位部署运行MyBatis3源码(保姆级)

    目录 源码部署 下载 编译安装 idea导入 demo测试 总结 源码部署 下载 mybatis3中文网址:mybatis.org/mybatis-3/z… mybatis3下载地址:github.com/mybatis/myb… mybatis父工程下载地址:github.com/mybatis/par… 点击链接下载zip包,注意对应版本(本文为稳妥起见下载了前人趟过坑的mybatis3的3.5.3版本). 该项目pom文件中有引入mybatis-parent工程,需按照对应版本下载,切记!

  • MyBatis3源码解析之如何获取数据源详解

    目录 前言 jdbc 传统JDBC弊端 思考 源码分析 获取数据源 总结 前言 上文讲的MyBatis部署运行且根据官网运行了一个demo:一步到位部署运行MyBatis3源码<保姆级> jdbc 再贴一个JDBC运行的测试方法,流程为: 加载JDBC驱动: 获取数据库连接: 创建JDBC Statements对象: 设置SQL语句的传入参数: 执行SQL语句并获得查询结果; 对查询结果进行转换处理并将处理结果返回; 释放相关资源(关闭Connection,关闭Statement,关闭Resu

  • windows下pycharm搭建spark环境并成功运行 附源码

    windows下spark的安装和运行 建议看到这篇文章(描述非常详细) Spark在Win10下的环境搭建 一.创建项目和.py文件 二.在pycharm中添加spark环境 若是左侧的python中没有,可点击''+''号进行添加 配置spark环境:总共3个(SPARK_HOME.HADOOP_HOME.PYTHONPATH) (注:SPARK_HOME和HADOOP_HOME已在系统的环境变量添加,故这里不再添加) 在编写代码时,建议添加如下代码,保证程序能够运行成功: import o

  • Kubernetes controller manager运行机制源码解析

    目录 Run StartControllers ReplicaSet ReplicaSetController syncReplicaSet Summary Run 确立目标 理解 kube-controller-manager 的运行机制 从主函数找到run函数,代码较长,这里精简了一下 func Run(c *config.CompletedConfig, stopCh <-chan struct{}) error { // configz 模块,在kube-scheduler分析中已经了解

  • 教你在VMware中安装Windows11操作系统的保姆级教程

    目录 1.Windows11操作系统简介 2.在VMware中创建一个新的虚拟机 2.1.下载Windows 11系统镜像 2.2.新建一个windows虚拟机 2.3.配置虚拟机资源设置 2.4.将虚拟机开机选择blos启动 3.安装Windows11操作系统 3.1.安装操作系统 3.2.设置系统 4.Windows11安装完成administrator 1.Windows11操作系统简介 Windows 11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备 [

  • 教你使用IDEA搭建spring源码阅读环境的详细步骤

    目录 第一步.准备gradle环境 第二步.下载spring源码 第一步.准备gradle环境 1.去官网下载gradle https://gradle.org/releases/ 2.将其解压缩,创建repository文件夹 和init.d文件夹 创建init.gradle文件 输入文本信息,主要是配置阿里云镜像仓库地址,和maven的类似 gradle.projectsLoaded { rootProject.allprojects { buildscript { repositories

  • php源码的使用方法讲解

    PHP程序都要用MYSQL,如果没有MYSQL,就不能用它们. 第一:配置数据库信息,改成自己所需的: 第二:导入数据库: 第三:安装wamp5 输入 http://127.0.0.1/自己的文件名. 1:如果是php源码,在本地电脑使用时.要先安装phpnow环境套件包(下附),里面包含了php+mysql等,也是用迅雷搜索下载.那个套件安装很傻瓜化,不用我说了. 2:把所有的源码复制到套件安装目录下的htdocs文件夹里,使用方法如上面的3. 3:如果打不开,请先确定你的数据库是需要导入的吗

  • 模块一 GO语言基础知识-库源码文件

    你已经使用过 Go 语言编写了小命令(或者说微型程序)吗? 当你在编写"Hello, world"的时候,一个源码文件就足够了,虽然这种小玩意儿没什么用,最多能给你一点点莫名的成就感.如果你对这一点点并不满足,别着急,跟着学,我肯定你也可以写出很厉害的程序. 我们在上一篇的文章中学到了命令源码文件的相关知识,那么除了命令源码文件,你还能用 Go 语言编写库源码文件.那么什么是库源码文件呢? 在我的定义中,库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他

  • 合成大西瓜开发源码手把手教你运行和部署大西瓜游戏项目(附源码)

    最近合成大西瓜非常火,很多编程爱好者将大西瓜改成了各种版本,非常魔性,哈哈. 如果你也想魔改大西瓜,或者想研究一下项目怎么玩的,下面的教程从下载到游戏项目部署一条龙搞定. 步骤一:下载大西瓜源代码 贴心的我已经将各种版本的代码整理到百度网盘了,大家可以按需下载: 链接: https://pan.baidu.com/s/1DfRdj2s2yGW_XbQhhjSM1w 提取码: 4t3d 步骤二:尝试运行大西瓜游戏项目 下载的源码结构如下图 如果你双击打开 index.html 文件可能卡在98%或

  • Spring菜鸟教你看源码冲面试

    Spring 类的初始化和实例化的不同 IOC 探究spring的IOC容器 DefaultListableBeanFactory是最终实现类,在代码中可以找到HashMap的影子:IOC容器就是用HashMap装的Bean; public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFactory implements ConfigurableListableBeanFactory, BeanDefin

随机推荐