pdf文档 传智播客 mybatis 框架课程讲义

1.16 MB 75 页 0 评论
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档详细介绍了MyBatis框架的核心内容,包括其概述、架构、与其他框架的对比,以及DAO开发方法。MyBatis作为一个优秀的持久层框架,封装了JDBC操作,简化了数据库开发流程。文档还讲解了MyBatis的SqlSession、Mapper接口开发方法、缓存机制及其与Spring的整合。通过实例和对比分析,文档帮助读者理解如何在实际开发中高效使用MyBatis。
AI总结
# 《传智播客 MyBatis 框架课程讲义》总结 ## 1. MyBatis 入门 ### 1.1 单独使用 JDBC 编程问题总结 - **数据库连接频繁创建**:导致资源浪费,影响性能,建议使用连接池。 - **SQL 硬编码**:不易维护,SQL 变化需改代码。 - **参数硬编码**:WHERE 条件不固定,修改 SQL 必须改代码。 - **结果集解析硬编码**:查询列名变化需改代码,建议封装为 POJO。 ### 1.2 MyBatis 介绍 - **背景**:前身为 iBatis,2010 年更名为 MyBatis。 - **特点**:封装 JDBC 操作,让开发者专注于 SQL,即可通过 XML 或注解配置,支持动态 SQL 和结果映射。 - **适用场景**:需求变化频繁的软件,如互联网应用。 - **优缺点对比**: - **灵活性**:高,适合需求频繁变化。 - **数据库无关性**:较弱,需多套 SQL 文件。 - **与 Hibernate 对比**:MyBatis 灵活但不支持对象/关系映射强;HibernateLearning 曲线高,但适合需求稳定、关系模型复杂的应用。 ## 2. DAO 开发方法 ### 2.1 基本功能需求 - 根据用户 ID 查询用户信息。 - 根据用户名模糊查询用户信息列表。 - 添加用户信息。 ### 2.2 SqlSession 使用 - **作用**:封装数据库操作(CRUD)。 - **创建**:通过 `SqlSessionFactory`,由 `SqlSessionFactoryBuilder` 创建。 - **SqlSessionFactoryBuilder**:作为工具类,最佳使用范围为方法内局部变量。 ## 3. MyBatis 缓存 ### 3.1整合 EhCache - **EhCache 介绍**:开源进程内缓存框架,快速、轻量,Hibernate 默认缓存。 - **整合步骤**: 1. 引入依赖:`mybatis-ehcache` Maven 依赖。 2. 配置文件:创建 `ehcache.xml`,定义缓存策略。 - **MyBatis 缓存机制**: - 默认实现类如 `OsCache`、`MemoryCache`。 - 通过 `Cache` 接口实现,支持第三方缓存整合(如 EhCache、Redis)。 - **二级缓存特点**:以 Mapper 为单位,无法针对单个对象刷新,需在业务层针对性缓存。 ## 4. MyBatis 与Spring 整合 ### 4.1 实现方式 - **管理方式**:Spring 管理 `SqlSessionFactory` 和 Mapper 接口。 - **依赖包**: - `mybatis-spring` - Spring 3.2.0、MyBatis 3.2.7、dbcp 连接池、数据库驱动。 ### 4.2 配置文件 - **SqlMapConfig.xml**: ```xml ``` ## 5. 传递参数方式 ### 5.1 简单类型 - 直接传递简单类型参数,类似 `username`。 ### 5.2 POJO 对象 - **示例**:传递 `User` 对象,使用 OGNL 表达式解析字段。 - **mapper.xml**: ```xml ``` ### 5.3 Hashmap 综合查询 - **定义**:`parameterType="hashmap"`,传递多个查询条件。 ### 5.4 包装对象 - **定义**:`QueryVo` 类,组合多个查询条件对象。 - **应用场景**:综合查询条件复杂,包含用户信息和购买信息。 - **mapper.xml**:通过 `#{user.username}` 访问包装对象属性。 ### 5.5 动态 SQL - **排序**:使用 `${columnName}` 动态传入排序列名。 - **预处理参数**:`#{}`用于参数传递,`${}`用于 SQL 片段插入。 ### 5.6 常见错误 - **字段名错误**:使用错误的字段名(如 `dusername`),导致映射失败。 - **异常示例**:`ReflectionException`,提示属性缺失。 通过以上总结,可以清晰了解MyBatis的核心功能、使用方法及其在实际开发中的应用场景和注意事项,从而更好地利用MyBatis提升开发效率。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 68 页请下载阅读 -
文档评分
请文明评论,理性发言.