摘要:
前言 老规矩,先上案例代码,我们按照这个案例一步一步的搞定Mybatis源码。 public class MybatisApplication { public static final String URL = "jdbc:mysql://localhost:3306/mblog"; public 阅读全文
摘要:
前言 上次发文说到了如何集成分页插件,接下来聊mybatis插件的原理。 插件原理分析 mybatis插件涉及到的几个类: 我将以 Executor 为例,分析 MyBatis 是如何为 Executor 实例植入插件的。Executor 实例是在开启 SqlSession 时被创建的,因此,我们从 阅读全文
摘要:
前言 大多数框架都支持插件,用户可通过编写插件来自行扩展功能,Mybatis也不例外。 在Mybatis中最出名的就是PageHelper 分页插件,下面我们先来使用一下这个分页插件。 如何集成分页插件 Spring-Boot+Mybatis+PageHelper 引入pom依赖 <dependen 阅读全文
摘要:
流程图 demo案例 还是从案例开始。 public static void main(String[] args) { String resource = "mybatis-config.xml"; InputStream inputStream = null; SqlSession sqlSes 阅读全文
摘要:
前言 生成器相比普通迭代器的实现,不会像普通迭代器生成完整集合返回,而是一边循环一边计算的机制,从而节省大量的空间。 普通迭代器 def triangles(line): result = [] for x in range(line): array = [] value = 1 for x1 in 阅读全文
摘要:
前言 前提是我们需要对整个Mybatis的原理、工作流程和模块进行一个整体的直知晓,另外还要有使用经验。 源码下载 进入官网 https://mybatis.org/mybatis-3/zh/index.html 方法一 跳转到github上,我们可以在github上下源码 https://gith 阅读全文
摘要:
前言 今天我们来从一个全局的角度看看Mybatis。 Mybatis工作流程 Mybatis工作流程可以大致分为四个步骤: 下面我们就来说说这四个步骤: 加载配置并初始化 触发条件:加载配置文件,比如:全局配置文件、XxxMapper.xml配置文件等。 配置来源于两个地方,一处是配置文件,一处是J 阅读全文
摘要:
前言 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。 使用动态 SQL 并非一件易事, 阅读全文
摘要:
前言 MyBatis 提供了XML配置和注解配置两种方式。今天就来搞搞这两种方式是如何实现的。 MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码 阅读全文
摘要:
前言 在 Web 应用中,缓存是必不可少的组件。通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力。作为一个重要的组件,MyBatis 自然也在内部提供了相应的支持。通过在框架层面增加缓存功能,可减轻数据库的压力,同时又可以提升查询速度,可谓一 阅读全文