MyBatis
环境:
- JDK 17
- MySQL 5.7
- Maven 3.9.3
- IDEA
回顾:
- JDBC
- MySQL
- Java基础
- Maven
- Junit
框架的学习:框架都是有配置文件的,最好的学习方式就是查看官方文档~
SSM:Spring,SpringMVC,MyBatis
MyBatis官方中文文档:MyBatis中文网
简介
什么是MyBatis

- MyBatis 是一款优秀的持久层框架
- 它支持自定义 SQL、存储过程以及高级映射。
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
- MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
- MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了[google code](https://baike.baidu.com/item/google code/2346604),并且改名为MyBatis。
- 2013年11月迁移到Github。
- iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
如何获取MyBatis
-
Maven仓库:Maven Repository: org.mybatis » mybatis » 3.5.13 (mvnrepository.com)
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.13</version> </dependency>
-
中文文档:MyBatis中文网
持久化是什么
数据持久化
- 持久化就是将程序的数据在持久状态(数据放在数据库中只要不删库就是持久的)和瞬时状态转化的过程
- 内存特性:断电即失,数据在内存中容易丢失,所以需要持久化
- IO文件持久化(特别浪费资源)–> 数据库诞生(使用JDBC)
- 生活中的持久化:冷藏、罐头…
为什么要持久化?
- 有一些对象不能丢掉,比如账号里的钱
- 内存很贵!
持久层又是什么
Dao层、Service层、Controller层…
持久层:
- 完成持久化工作的代码块
- 层与层之间的界限是十分明显的
为什么需要MyBatis
-
帮助程序员将数据存入到数据库中
-
方便
-
传统的JDBC代码过于复杂,简化 —> 形成框架达成自动化
-
不用MyBatis也可以,但是用的话会跟简单,容易上手。技术没有高低之分,好不好全在于你怎么用它~
-
优点:
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供xml标签,支持编写动态sql。
-
最重要的:用的人多!社区生态好~遇到问题更容易解决!