环境说明:
-
jdk 8 +
MySQL 5.7.19
maven-3.6.1
IDEA
学习前需要掌握:
-
JDBC
MySQL
Java 基础
Maven
Junit
1.什么是Mybatis
MyBatis 是一款优秀的持久层框架
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
2.什么是持久化?
- 持久化就是将内存中的数据(内存中的对象)保存到可以永久保存的存储设备中(比如磁盘)
- 持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。
- JDBC是一种持久化技术,IO流文件操作也是持久化的技术。
3.为什么需要持久化服务?
- 因为内存(RAM)断电后就会丢失数据,有些对象是不能丢失的,是需要持久化保存的,比如一些重要的账号。
4.什么是持久层
- 完成持久化工作的代码块 . ----> dao层 数据访问对象
- 项目中分为好几层,每一层都会完成它特有的业务需求,持久层也就是在系统架构中,应该有一个相对独立的逻辑层面,去专注完成它的数据持久化逻辑的实现。
- 持久层基本上就是用来操作数据库而存在的。
5.为什么需要Mybatis?
- 帮助程序员将数据存入数据库或从数据库中取数据
- 传统的JDBC操作太过于复杂,有很多重复代码,通过框架可以减少重复代码,提高开发效率
- Mybatis是一个半自动的ORM框架 (Object Relationship Mapping) --> 对象关系映射。
Mybatis的优点:
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件就可以了,易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活 : sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供xml标签,支持编写动态sql。