MyBatis源码安装

◇◆丶佛笑我妖孽 提交于 2020-08-15 15:45:37

传统 JDBC 的弊端

1、jdbc 底层没有用连接池、操作数据库需要频繁的创建和关联链接。消耗很大的资源

2、写原生的 jdbc 代码在 java 中,一旦我们要修改 sql 的话,java 需要整体编译,不利于系统维护

3、使用 PreparedStatement 预编译的话对变量进行设置 123 数字,这样的序号不利于维护

4、返回 result 结果集也需要硬编码。

mybatis 核心概念

Configuration 、 SqlSessionFactory 、 Session 、 Executor 、 MappedStatement 、StatementHandler、ResultSetHandler

名称 意义
Configuration 管理 mysql-config.xml 全局配置关系类
SqlSessionFactory Session 管理工厂接口
Session SqlSession 是一个面向用户(程序员)的接口。SqlSession 中提供了很多操作数据库的方法
Executor

执行器是一个接口(基本执行器、缓存执行器)

作用:SqlSession 内部通过执行器操作数据库

MappedStatement

底层封装对象

作用:对操作数据库存储封装,包括 sql 语句、输入输出参数

StatementHandler 具体操作数据库相关的 handler 接口
ResultSetHandler 具体操作数据库返回结果的 handler 接口

源码编译与下载

https://github.com/mybatis/mybatis-3

https://github.com/mybatis/parent(依赖)

可以直接idea导入 也可以直接下载为zip包(推荐这种)。

Mybatis源码袭来parent工程。需要先编译parent工程在编译mybatis,具体如下

解决parent依赖问题:

在构建的过程中会出现找不到pom.xml中依赖的父模块mybatis-parent

我们需要将paren工程克隆到本地目录中:git clone https://github.com/mybatis/parent.git ,然后先进入parent工程下进行mvn clean install 将parent工程依赖的包下载下来、并保证parent工程编译通过,这步不会出现问题,在编译的输出信息中我们会看到parent工程的版本号,如图所示: 

pom.xml文件parent依赖的version标签处,如下文。 

接下来修改mybatis工程的pom.xml文件中标识parent依赖的地方:

<parent>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-parent</artifactId>
    <version>28-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
</parent>

告诉我们部分插件没有指定的相应的版本号,出于工程的稳定性考虑需要对使用的插件指定其版本号,并给出了合适的版本号,如图红色方框中的文字。我们只要在mybatisg工程的pom.xml文件中找到相对应的插件处添加<version>$NUM</version> 标签即可, $NUM代表具体的版本号。到这我们再执行mvn clean install 指令就可以将mybatis工程构建成功了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!