什么是MyBatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录
与其他持久层框架对比
如果从生活中比喻的话,JDBCTemplate必做洗衣板,因为它只能作为一个工具,而Hibernate可以比喻为全自动洗衣机,它并不够灵活,比如要定制SQL之类,而MyBatis通过HTML进行集中的配置,可以定制SQL。
与ibatis的关系
ibatis就是MyBatis前身,他们有很多地方很相似,但是在sqlMap里面已经有很多地方变动了
关于Mybatis的动态代理
3.3之前是使用CGLIB实现
3.3之后使用JDK的Proxy来实现
源码下载
为了更好的分析源码,其实我推荐大家都使用fork的方式,当然因为每个人水平不同,我还是使用下载方式说明把,我以下都是使用命令解压 下载这些,window直接手动操作就行
下载mybatis
wget https://github.com/mybatis/mybatis-3/archive/3.4.x.zip
因为依赖关系,需要下载parent
wget https://github.com/mybatis/parent/archive/master.zip
都下载在同一个目录中
# 解压并命名为 mybatis-3
unzip mybatis-3-3.4.x.zip -d mybatis-3
# 解压并命名为 parent
unzip parent-master.zip -d parent
进入parent目录,进行编译
cd parent
mvn clean install
进入mybatis3的目录
cd mybatis-3
mvn clean
mvn install -Dmaven.test.skip=true
idea中使用
Import Project 项目到工程中
选择maven方式
选择工程的语言版本
设置Java Compiler
如果有报错,可以尝试删除掉部分依赖,比如
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pdf-plugin</artifactId>
</plugin>
-->
运行测试
随便找一个测试,运行