一、MyBatis 简介
1、MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架;
2、MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集;
3、MyBatist 可以使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Ordinary Java Objects,普通的 Java 对象)映射成数据库中的记录;
4、MyBatis 是一个半自动的 ORM(Object Relation Mapping) 框架;
二、MyBatis 历史
原始Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation 迁移到了Google Code,随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis ,代码于2013年11月迁移到Github(下载地址见后)。
iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。 iBatis提供的持久层框架包括SQL Maps和Data Access Objects( DAO)
三、为什么要使用 MyBatis
现有持久化技术的对比
1、JDBC
① SQL夹在Java代码块里,耦合度高导致硬编码内伤;
② 维护不易且实际开发需求中sql是有变化,频繁修改的情况多见;
2、Hibernate 和 JPA
① 长难复杂 SQL,对于 Hibernate 而言处理也不容易;
② 内部自动生产的 SQL,不容易做特殊优化;
③ 基于全映射的全自动框架,大量字段的 POJO 进行部分映射时比较困难。导致数据库性能下降
3、MyBatis
① MyBatis 是一个半自动化的持久化层框架;
② 对开发人员而言,核心 SQL 还是需要自己优化;
③ SQL 和 Java 编码分开,功能边界清晰,一个专注业务,一个专注数据
四、MyBatis 下载
1、github 地址
https://github.com/mybatis/mybatis-3/
2、官方地址
https://mybatis.org/mybatis-3/
3、使用 Maven 依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>x.x.x</version>
</dependency>