MyBatis简介
环境说明
- jdk 1.8
- Mysql 5.7.29
- maven 3.6.1
- IDEA
什么是MyBatis
- MyBatis是一个基于Java的持久层框架
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作
- MyBatis 可以通过简单的 XML 或注解来配置,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。
- MyBatis 本是apache的一个开源项目iBatis,, 2010年这个项目由apache 迁移到了google code,并且改名为MyBatis 。
- 2013年11月迁移到GitHub .
- MyBatis官方文档 : http://www.mybatis.org/mybatis-3/zh/index.html
- GitHub : https://github.com/mybatis/mybatis-3
什么是持久化
持久化是将程序数据在持久状态和瞬时状态间转换的机制。
- 瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。
- 持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
- JDBC就是一种持久化机制。文件IO也是一种持久化机制。
为什么需要持久化
- 内存断电后数据会丢失
- 内存过于昂贵
持久层
什么是持久层
- 完成持久化工作的代码块——Dao层。
- 数据持久化通常意味着将内存中的数据保存到磁盘上固化,而持久化的实现大多通过各种关系数据库来完成。
- 系统架构中,应该有一个相对独立的逻辑层,专注于数据持久化逻辑的实现。
为什么需要Mybatis
-
Mybatis帮助程序员将数据存入数据库中,和从数据库中获取数据。
-
传统的JDBC操作,存在重复代码块,开发效率低,使用MyBatis可以提高开发效率。
-
MyBatis 是一个半自动化的ORM框架 (Object Relationship Mapping) ——>对象关系映射
-
MyBatis的优点
- 简单易学:安装及配置简单,能够通过阅读文档和源代码掌握它的设计思想及实现。
- 使用灵活:SQL语句写在xml配置文件中,便于统一管理和优化。
- 解除耦合:SQL语句与程序代码分离,提高可维护性。
- 支持动态编写SQL
- ......