mybats 源码分析
文章平均质量分 89
mybats 源码分析
959y
奋斗ing
展开
-
Mybatis 原理之启动阶段
Mybatis 源码之启动阶段解析原创 2023-01-13 19:43:05 · 1052 阅读 · 0 评论 -
mybais (设计模式) (十三)
1.单例模式2.工厂模式3.建造者模式4.代理模式5.装饰器模式6.组合模式7.适配器模式8.责任链模式9.模板方法模式10.迭代器模式原创 2022-05-27 14:50:28 · 245 阅读 · 0 评论 -
mybais (延迟加载原理 + 源码分析) (十二)
延迟加载:假设存在用户、订单两张表,可以查询用户(User)及用户对应的订单(Order)列表(一对多);用户信息作为主体,而订单信息不是立即需要获取到的情况下,MyBatis提供延迟加载的策略,发送SQL执行语句时,只查询用户信息,当需要使用到订单信息时,即user.getOrderList()时,才会发送获取订单信息的SQL查询订单信息 (需要用到对应的信息时,才执行相关SQL);MyBatis延迟加载原理:通过动态代理的形式,创建了目标对象(User)的代理对象,拦截了对象的getting方法原创 2022-05-26 13:28:25 · 329 阅读 · 0 评论 -
mybais (二级缓存实现和设计原理 + 源码分析) (十一)
mybatis 二级缓存的实现和设计原理原创 2022-05-25 16:56:59 · 308 阅读 · 0 评论 -
mybais (一级缓存实现详解 + 源码分析) (十)
1.一级缓存1.1 一级缓存的概述每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。MyBatis会在一次会话的表示----一个SqlSession对象中创建一个本地缓存(local cache),对于每一次查询,都会尝试根据查询的条件去本地缓存中查找是否在缓存中,如果在缓存中,就直接从缓存中取出,然后返回给用户;否则,从数据库读取数据,将查询结果存入缓存并返回给用户。对于会话(Session)级别的数据缓存,我们称之为一级数据原创 2022-05-25 12:29:20 · 281 阅读 · 0 评论 -
mybais (数据源与连接池 + 源码分析) (九)
对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题。UNPOOLEDPOOLEDJNDI1.MyBatis数据源DataSource分类MyBatis把数据源DataSource分为三种:UNPOOLED 不使用连接池的数据源POOLED 使用连接池的数据源JNDI 使用JNDI实现的数据源相应地,MyBatis内部分别定义了实现了java.sql.DataSource接口的UnpooledData原创 2022-05-24 19:16:10 · 434 阅读 · 0 评论 -
mybais (事务管理 + 源码分析) (八)
mybatis 源码分析 事务的管理原创 2022-05-24 13:41:18 · 250 阅读 · 0 评论 -
MyBatis的插件机制及其用法
文章目录1.前言1.1 Mybatis四大对象1.2 Mybatis插件1.3 拦截阶段2.源码分析2.1 过程2.2 小结3.使用方法3.1 注册插件4.总结1.前言1.1 Mybatis四大对象org.apache.ibatis.executor.parameter.ParameterHandler:处理SQL的参数对象org.apache.ibatis.executor.resultset.ResultSetHandler:处理SQL的返回结果集org.apache.ibatis.execu原创 2022-02-03 19:29:49 · 1718 阅读 · 0 评论 -
mybais (插件原理 + 源码解析) (七)
Mybatis插件又称拦截器。Mybatis采用责任链模式,通过动态代理组织多个插件(拦截器),通过这些插件可以改变Mybatis的默认行为(诸如SQL重写之类的),由于插件会深入到Mybatis的核心,因此在编写自己的插件前最好了解下它的原理,以便写出安全高效的插件。MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rol原创 2022-05-23 18:23:26 · 218 阅读 · 0 评论 -
mybatis (getMapper + invoke 源码分析) (六)
MYBATIS源码分析之动态代理的方式执行Sql原创 2022-05-22 11:56:37 · 369 阅读 · 0 评论 -
mybatis (StatementHandler + ParameterHandler + ResultSetHandler) (五)
StatementHandler + ParameterHandler + ResultSetHandler原创 2022-05-21 13:00:25 · 627 阅读 · 0 评论 -
mybatis (Sql执行流程 + Executor执行器 + 源码分析) (四)
Sql执行流程 + SqlSession + Executor执行 + 源码分析原创 2022-05-20 12:39:26 · 647 阅读 · 0 评论 -
mybatis (初始化过程 + SqlSessionFactory的机制原理) (三)
mybatis源码 - 初始化过程, SqlSessionFactory + SqlSessionFactoryBuilder原创 2022-05-19 14:36:28 · 400 阅读 · 0 评论 -
mybatis (四大组件 + 四大对象 + 三大组成部分) (二)
文章目录1.Mybatis四大组件2.SqlSession四大对象3.映射器三大组成部分4.总结 SqlSessionFactoryBuilder (构造器)会根据配置或者代码来生成SqlSessionFactorySqlSessionFactory (工厂接口)以后他来生成SqlSession一般采用单例模式处理它SqlSession (会话)一个既可以发送SLQ执行返回结果,也可以获取Mapper的接口SqlSession 的作用类似一个JDBC中的 Con原创 2022-05-18 20:39:38 · 1119 阅读 · 0 评论 -
mybatis (整体架构) (一)
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。1.mybatis架构2.接口层接口层是对外的的api,主要使用sqlSession接口,通过sqlsession接口、mapper接口,开发人员可以通知原创 2022-05-16 22:31:13 · 395 阅读 · 0 评论