私信获取PDF下载地址

第一章 mybatis 简介

JDBC 是一种桥接模式。

hibernate vs mybatis

hibernate 提供的是一种全表映射的模式,写 HQL 语言,hbm.xml 文件制定映射规则,有多少个实体类,对应有多少个表(不算那种连接表),就需要写多少个 hbm.xml 文件,hibernate.cfg.xml 文件是配置文件;还提供级联、缓存、映射、一对多功能。

缺点:

  • 不能有效支持存储过程;

灵活、SQL 优化、减少数据的传递是数据库优化的基本方法。基于此,mybatis 比 hibernate 要更适合互联网的需求。

mybatis 的 ORM 映射模型

第二章 mybatis 入门

mybatis 的核心组件

  • SqlSession
  • SQL Mapper

mybatis 提供两种模式创建SqlSessionFactory:xml 和 java 代码,推荐前者。

SqlSession 的用途:



映射器(java 接口,仅仅只需要接口就可以,和 mapper.xml 文件或者注解组成) 的四个主要作用:

  • 定义参数类型;
  • 描述缓存;
  • 描述 SQL 语句;
  • 定义查询结果和 pojo 的映射关系。

注解示例:

public interface RoleMapping1 {
@Select(value = "select id,role_name as roleName,note from t_role where id =#{id} ")
Role getRole(Long id);
}

第三章 配置

配置文件是 mybatis 的核心部分之一。mybatis-config.xml 配置的标签有顺序要求的,是使用 IDEA 时,如果顺序错误,IDEA 有报错提醒。

第四章 映射器

resultType 和 resultMap:
不可同时使用,前者定义类的全路径,在允许自动匹配的情况下,结果集将通过java bean 的规范映射,后者可以自定义映射规则;

第五章 动态 SQL

第六章 解析和运行原理

第七章 插件

第八章 mybatis-spring

《深入浅出MyBatis技术原理与实战》读书笔记(含源码)_xml

《深入浅出MyBatis技术原理与实战》读书笔记(含源码)_sql_02

第九章 使用场景

福利

由于原文作者貌似并没有提供源码,于是自己整理了一下,放在 github 上面,欢迎下载。
​​​github​