1.1 是什么MyBatis?

答:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。

  • MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
  • MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

持久层:也叫数据访问层(Data Access) 也就是将数据持久化

持久化:是将程序数据在持久状态和瞬时状态间转换的机制。

通俗的讲,就是瞬时数据(比如内存(断电即失)中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。

自定义sql:也就是我们平时写的crud语句 写在xml文件中  

mybatis集成了JDBC 所以各种设置参数和获取结果集的工作都由mybatis完成了

mybatis配置可以是xml也可以是注解

 

1.2 MyBatis的前世今生?

  • MyBatis 本是apache的一个开源项目iBatis,
  • 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。
  • 2013年11月迁移到Github。

 

 

1.3 Mybatis的优点

  • 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  • 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
  • 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  • 提供映射标签,支持对象与数据库的orm字段关系映射
  • 提供对象关系映射标签,支持对象关系组建维护
  • 提供xml标签,支持编写动态sql。

 

 

1.4 Mybatis 学习文档

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
 <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis</artifactId>
     <version>3.5.5</version>
 </dependency>
 
  • mybatis-spring依赖
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
 <dependency>
     <groupId>org.mybatis</groupId>
     <artifactId>mybatis-spring</artifactId>
     <version>2.0.5</version>
 </dependency>