ORM - MyBatis实现自定义MyBatis插件详解ORM - MyBatis实现自定义MyBatis插件详解 "MyBatis的一个重要的特点就是插件机制,使得MyBatis的具备较强的扩展性,我们可以根据MyBatis的插件机制实现自己的个性化业务需求。" 1. 初识插件 我们在执行查询的时候,如果sql没有加上分页条件,数据量过大的话会造成内存溢出,因此我们可以通过MyBatis提供的插件机制来拦截sq2022年10月20日MyBatisSqlSessionmybatis源码执行流程大约 8 分钟
ORM - MyBatis事务管理机制详解ORM - MyBatis事务管理机制详解 "事务这个词我们多次遇到,在Executor执行器里面,在SqlSession里面,在二级缓存里面。和事务打交道避免不了事务的管理,那么MyBatis是如何进行事务管理的,这篇文章将带领大家一解疑惑。" 初识事务 数据库事务的定义就是将多个执行单元看作一个整体,要么全部执行成功,要么执行失败。事务具有ACID属性,2022年10月20日MyBatisSqlSessionmybatis源码执行流程大约 5 分钟
ORM - MyBatis总体流程与架构设计详解ORM - MyBatis总体流程与架构设计详解 "MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现。" 总体流程 1) 加载配置并初始化 触发条件:加载配置文件 配置来源2022年8月1日MyBatis架构设计大约 3 分钟
ORM - MyBatis初始化基本过程详解ORM - MyBatis初始化基本过程详解 一、组装All-In-One对象Configuration过程 "Mybatis初始化流程,其实就是组装重量级All-In-One对象Configuration的过程,主要分为系统环境参数初始化和Mapper映射初始化,其中Mapper映射初始化尤为重要。" 系统环境参数初始化 ` Mapper映射初始化 par2022年8月1日MyBatis初始化基本过程大约 7 分钟
ORM - MyBatis拦截器原理分析ORM - MyBatis拦截器原理分析 MyBatis拦截器介绍 "MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。那么拦截器拦截MyBatis中的哪些内容呢?" 我们进入官网看一看:http:\//mybatis.github.io/mybatis-3/zh/configuration.html#plugins M2022年8月1日MyBatis拦截器mybatis源码源码分析大约 7 分钟
ORM - MyBatis一级缓存实现机制详解ORM - MyBatis一级缓存实现机制详解 一级缓存概念 "Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下,我们使用同一个SqlSession对象调用一个Mapper方法,往往只执行一次SQL,因为使用SelSession第一次查询后,MyB2022年8月1日MyBatis映射文件mybatis源码mapper配置大约 6 分钟
ORM - MyBatis 二级缓存实现机制详解ORM - MyBatis 二级缓存实现机制详解 前置准备 既然要看MyBatis源码,当然是把源码拉取下来debug一步一步看才方便呢,这里已经拉取下来,并准备好例子了。 从上诉例子来看,我们观察到首先是解析配置文件,再获取SqlSession,获取到Sqlsession之后在进行各种的CRUD操作,我们先来看下SqlSession是怎么获取的。 SqlS2022年8月1日MyBatis映射文件mybatis源码mapper配置大约 14 分钟
ORM - MyBatis Mapper映射文件配置详解ORM - MyBatis Mapper映射文件配置详解 一、常用属性标签 1、namespace的作用 "在MyBatis中,Mapper中的namespace用于绑定Dao接口的,即面向接口编程。 namespace属性的值要和对应的Mapper接口的全限定名保持一致。" namespace的好处在于当使用了namespace之后就可以不用写接口实现类,2022年8月1日MyBatis映射文件mybatis源码mapper配置大约 14 分钟
ORM - MyBatis SqlSession执行流程详解ORM - MyBatis SqlSession执行流程详解 "前面的章节主要讲mybatis如何解析配置文件,这些都是一次性的初始化过程。从本章开始讲解动态的过程,它们跟应用程序对mybatis的调用密切相关。本章先从sqlsession开始。" 1、SqlSession "通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlSession2022年8月1日MyBatisSqlSessionmybatis源码执行流程大约 15 分钟
MyBatis面试系列-01MyBatis面试系列-01 1. MyBatis 是什么框架? MyBatis框架是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装性要低于Hibernate,性能优秀,并且小巧。 ORM即对象/关系数据映射,也可以理解为一种数据持久化技术。 MyBatis的基本要素包括核心对象、核心配置文件、SQL映射文2022年7月17日MyBatisMyBatis大约 16 分钟