环境:
- JDK 1.8
- Mysql 5.7(Mysql 8.0)
- maven 3.6.1
- IDEA
回顾:
- JDBC
- Mysql
- Java基础
- Maven
- Junit
SSM框架:配置文件的。最好的方式:看官方文档
1、简介
Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录
Mybatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了Google Code,并且改名为Mybatis。2013年11月迁移到Github
如何获得Mybatis
- Maven仓库
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version> </dependency>
- Github:
https://github.com/mybatis/mybatis-3/releases
- 中文文档:
https://mybatis.org/mybatis-3/zh/index.html
持久化
- 数据持久化:持久化就是将程序的数据在持久状态和瞬时状态转化的过程
- 瞬时状态:类似于内存,断电即失
- 持久状态:只要不删库,数据可以一直在
- 数据库(JDBC),IO文件持久化
- 生活:冷藏、罐头、…
- 持久化的原因:有一些对象,不能让他丢掉(类似生活中的微信、支付宝余额,王者的点卷,…),主要原因:内存太贵了
持久层
- Dao层、Service层、Controller层
- 完成持久化工作的代码块
- 层是界限十分明显
为什么需要Mybatis
- 方便
- 传统的JDBC代码太复杂了;因为简化,所以框架,自动化
- 帮助程序猿将数据存入到数据库中
- 不用Mybatis也可以。更容易上手
优点:
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件。易于学习,易于使用。通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。
sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。 - 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供xml标签,支持编写动态sql。
最重要的一点:使用的人多!!!