SSM框架深度解析:Mybatis与InnoDB存储引擎

需积分: 29 1 下载量 115 浏览量 更新于2024-08-05 收藏 81KB MD 举报
"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应用。