zoukankan      html  css  js  c++  java
  • MyBatis源码环境搭建

    https://gitee.com/zhong96/mybatis-start

    MyBatis简介

    MyBatis源于Apache的一个开源项目iBatis。2002年,Clinton Begin开发了iBatis框架,并引入了SQL映射作为持久化层开发的一种方法,不久后Clinton Begin将iBatis捐献给Apache软件基金会。2010年,这个项目由Apache迁移到了Google Code,并改名为MyBatis。2013年11月,MyBatis迁移到目前最大的源代码托管平台Github。
    MyBatis是一款在持久层使用的SQL映射框架,可以将SQL语句单独写在XML配置文件中,或者使用带有注解的Mapper映射类来完成数据库记录到Java实体的映射。与另一款主流的ORM框架Hibernate不同,MyBatis属于半自动的ORM框架,它虽然不能将不同数据库的影响隔离开,仍然需要自己编写SQL语句,但是可以灵活地控制SQL语句的构造,将SQL语句的编写和程序的运行分离开,使用更加便捷。
    目前,Java实现的持久化框架比较多,名气相对较大的有Hibernate、Speedment、Spring Data JPA、ActiveJPA等。总结一下,MyBatis能够流行起来的主要原因有以下几点:

    • (1)消除了大量的JDBC冗余代码,包括参数设置、结果集封装等。
    • (2)SQL语句可控制,方便查询优化,使用更加灵活。
    • (3)学习成本比较低,对于新用户能够快速学习使用。
    • (4)提供了与主流IoC框架Spring的集成支持。
    • (5)引入缓存机制,提供了与第三方缓存类库的集成支持。

    https://github.com/mybatis/mybatis-3
    https://github.com/mybatis/parent(依赖)
    在这里插入图片描述

    一 、下载mybatis源码

    可以通过Release找到最新版本,直接下载源码Source Code到本地。
    在这里插入图片描述
    MyBatis工程有一个依赖包mybatis-parent,也需要下载到本地!
    可以直接idea导入 也可以直接下载为zip包(推荐这种)。
    在这里插入图片描述
    通过查看mybatis的pom.xml文件,发现是一个聚合项目,依赖mybatis-parent

      <parent>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-parent</artifactId>
        <version>31</version>
        <relativePath />
      </parent>
    

    二 、下载mybatis-parent源码

    Mybatis源码依赖parent工程,版本:mybatis-parent-31.zip,
    在这里插入图片描述

    需要先编译parent工程再编译mybatis,具体如下

    • 先进入到parent项目目录下执行命令:
    mvn clean install -Dmaven.test.skip
    
    • 再进入到mybatis-3项目目录下执行命令:
    mvn clean install -Dmaven.test.skip
    

    或者

    选择mybatis-parent模块,install
    在这里插入图片描述
    然后选择mybatis模块,install。注意pom文件中,修改parent为相对路径
    在这里插入图片描述
    构建完成!下面便可以写代码,通过debug看源码了!

    三、阅读MyBatis源码

    添加自己包结构,com.gqzdev.mybati......
    在这里插入图片描述
    通过上面的测试,证明我们搭的环境没问题,接下来便是一步步调试,阅读源码的过程

    四、整合Spring-Mybatis模块

    下载官方提供的案例,https://github.com/mybatis/spring
    在这里插入图片描述
    在这里插入图片描述
    在mybatis-spring模块中添加自己的代码,然后通过入门开始分析Spring是如何整合MyBatis?IoC容器管理了mybatis的那些部分?等
    在这里插入图片描述

  • 相关阅读:
    [转]VMware-Transport(VMDB) error -44:Message.The VMware Authorization Service is not running解决方案
    [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器
    [转]美国最大婚恋交友网站eHarmony的机器学习实践
    [转]Algolia的分布式搜索网络架构
    预测建模、监督机器学习和模式分类概览
    Java正则表达式
    Ajax入门
    JSON入门
    JSTL与EL表达式
    Servlet与JSP进阶
  • 原文地址:https://www.cnblogs.com/gqzdev/p/13436780.html
Copyright © 2011-2022 走看看