1 引言
1.1 MyBatis历史
MyBatis本是Apache的一个开源项目iBatis。目前代码留在Github:https://github.com/mybatis/mybatis-3 ,目前的最新版本是v3.5.10。
「历史」
- 2010年这个项目由Apache Software Foundation迁移到了Google Code,并且改名为MyBatis。
- 2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。
「什么是持久化?」
将数据从瞬时状态升级为持久状态。
「什么是持久层框架?」
完成持久化工作的代码块。
「持久层框架的结构有哪些?」
iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
好了,了解了上面的一些信息后,我们就开始使用这个框架吧。
1.2 关于MyBatis
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
对针对程序员来说,Mybetis 就是帮助程序员将数据存入数据库中取出数据。
1.3 MyBatis特点
- 简单易学:本身就很小且简单。Jar包大小只有3.69 MB。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 不依赖第三方:最简单安装只要两个jar文件+配置几个sql映射文件。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签:支持对象与数据库的ORM字段关系映射。
- 提供对象关系映射标签。
- 支持对象关系组建维护。
- 提供xml标签。
- 支持编写动态sql。
1.4 如何使用MyBatis
我们如果在IDEA中使用MyBatis,那么我们可以从下面几个步骤入手。
1)导入 MyBatis 相关 jar 包,当然我们可以使用Maven来管理;
2)从 xml 创建一个 SqlSessionFactory;
3)编写核心配置文件;
4)创建SqlSessionFactory;
5)创建实体;
6)创建Mapper;
7)编写SQL实体映射语句