"SSM框架学习笔记"
SSM框架是指Spring、SpringMVC和MyBatis三个开源项目的组合,常用于构建Java web应用。这是一份关于SSM框架的学习笔记,涵盖了Mysql存储引擎、InnoDB的内存架构以及Mybatis的基本概念和特性。
### Mysql引擎
在MySQL中,存储引擎负责数据的存储和检索。主要的存储引擎有:
1. **MyIsam**:非事务处理引擎,适合读多写少的情况,不支持行级锁定。
2. **InnoDB**:支持事务处理,提供行级锁定,适用于需要事务安全的应用。
3. **Memory**:所有数据都存储在内存中,速度快,但数据不会持久化,断电丢失。
4. Blackhole:黑洞引擎,不存储任何数据,用于丢弃写入的数据。
5. CSV:CSV格式存储引擎,适合导入导出数据。
6. Performance_Schema:性能监控引擎,用于收集系统性能信息。
7. **Archive**:用于存储历史数据,压缩数据,适合归档。
8. Federated:远程数据引擎,可以访问远程MySQL服务器上的表。
9. Mrg_Myisam:MyIsam的合并引擎,用于合并多个MyIsam表。
### InnoDB底层原理
InnoDB内存架构主要由以下三部分组成:
1. **缓冲池(Buffer Pool)**:用于缓存数据和索引,减少对磁盘的I/O操作。
2. **重做缓冲池(Redo Log Buffer)**:记录事务的改动,保证事务的ACID特性。
3. **额外内存池**:用于管理其他内存结构,如字典缓存等。
### Mybatis
MyBatis是一款强大的持久层框架,它简化了JDBC的繁琐工作,提供了XML或注解方式来配置和映射原生信息。核心特性包括:
- **持久层框架**:处理数据库交互,封装了JDBC操作。
- **SQL映射**:通过XML或注解将SQL语句与Java对象进行映射。
- **简单易用**:无需编写大量JDBC代码,降低开发难度。
- **动态SQL**:支持条件构造动态SQL,提高灵活性。
- **事务管理**:支持手动或自动管理事务。
#### Mybatis学习前需要掌握的基础:
- JDBC:Java数据库连接,是Java与数据库交互的标准API。
- MySQL:关系型数据库管理系统,了解其基本操作和SQL语法。
- Java基础:熟悉Java编程语言。
- Maven:项目管理和依赖管理工具。
- Junit:单元测试框架,用于测试代码。
### Mybatis简介
MyBatis起初是Apache的开源项目,后迁移到Google Code,再后来在2013年迁移至**Github**。Mybatis的主要目标是简化数据库操作,使开发者能更专注于SQL和业务逻辑。
### 持久化
- **持久化**:将数据从内存(瞬时状态)保存到硬盘(持久状态)的过程,确保数据在程序运行过程中或结束后仍然保留。
- 数据库作为常见的持久化存储,提供了将内存中的对象转化为数据库记录的能力,便于数据的长期保存和跨进程、跨系统的共享。
这份笔记详细介绍了SSM框架中的MySQL存储引擎、InnoDB的内存架构以及Mybatis的基本概念,是学习SSM框架的宝贵资料。通过深入理解这些知识点,开发者能够更好地搭建和管理Java web应用。