mybatis 学习 | 下载并导入 mybatis 源码到 idea

本贴最后更新于 1807 天前,其中的信息可能已经事过境迁

开头说两句

Java 基础 Demo 站: https://www.javastudy.cloud
Java 中高级开发博客: https://www.lixiang.red
Java 学习公众号: java 技术大本营
java_subscribe

学习背景

mybatis 做为目前国内最为流行的开源 orm 框架,我们平时在使用时会感受到其带来的诸多便利,但是很少去深入分析,mybatis 源码代码量不多,功能丰富,是一个很好的学习样例,本系列小刀就和大家一起来学习 mybatis

学习工具

  1. mybatis 文档
    基本上我们能用到的使用方法,包括 spring / 非 spring 的各种用法,同样对于英文不太好的同学,也有中文文档可以选择
    http://www.mybatis.org/mybatis-3/getting-started.html
    http://www.mybatis.org/mybatis-3/zh/index.html (中文)
  2. mybatis 源码
    项目在 github 上开源,都可以公开访问
    https://github.com/mybatis/mybatis-3
  3. idea
    目前 java 主流开发 ide
  4. 小刀的微信群
    一个人学习很辛苦,这里有小伙伴陪你一起学

用 idea 拉取源码

小刀 fork 了一份 mybatis 的源码,同时写补充一些注释进去
https://github.com/weixiaodexiaoxiaodao/mybatis-3
可以选择先下载下来再导入,或者直接用 idea 下载,两种方法都是可以的
image.png
导入之后,我们可以看到这是一个基于 maven 的工程,可以用平常导入 maven 工程的方法去导入
image.png

给 maven 配置阿里云镜像

打开 settings.xml,找到 mirrors 节点,然后复制以下代码

<mirror>

	<id>alimaven</id>

	<name>aliyun maven</name>

	<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

	<mirrorOf>central</mirrorOf>

</mirror>

源码目录结构

我们可以看到,mybatis 并不是一个多模块项目,和 tomcat 一样,只有一个模块,而且源码开发人员很友好的在每个包下面,都有一个 package-info.java,对这个包做了简单的说明
image.png
通过目录,我们可以看到,mybaits 有几下几大模块
annotation: 在这里面可以看到我们常用的注解,如 @Mapper ,以及 mybatis 的新特性 @Select 等等,都是在这个包里面进行声明的
binding: 做 Mapper 的绑定工作,绑定 mapper 接口和代理类
builder: 通过 xml,注解等构造 mybatis 的配置
cache: 配置 mybatis 的缓存
datasource:数据源
executor: 这个是重点组件,执行 sql 的组件
io: 资源处理模块: mybatis 有个自己封装的 VFS(virtual File system)文件处理系统
jdbc:叫 sql 预处理模块,用于 java 层面书写 sql 语句
logging:日志模块,可以和不同的日志系统进行集成
mapping: 映射模块,主要是 parameterMap , resultMap , 数据库字段和 java 实体类字段之间
parsing: 解析 xml 的模块,使用的 dom+xpath 的方法来解析 xml
reflection: 反射模块,同时把反射到的信息缓存到 HashMap 中
scripting: 脚本模块,用于处理一些自定义的参数拼接等
session: mybatis 的重点模块,我们 sql 语句都是在 session 内执行的
Transaction: 事务的处理,可以看到是真实是处理是通过 connection 调用 jdbc 来处理的
type:做一些类型的映射,声明等等之类的, 为上面的模块提供基础数据

最后说两句

在 mybatis 的学习过程中,各个模块相互配合,共同完成 sql 的查询. 大家在学习过程中有什么问题可以随时联系小刀: best396975802

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3190 引用 • 8214 回帖 • 1 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 387 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...