E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Mybatis源码
Mybatis 源码深度剖析
文章目录一、手写Mybatis二、Mybatis高级应用三、
Mybatis源码
1.MyBatis初始化过程2.MyBatis执行Sql过程3.MyBatis执行器executor4.MyBatisStatementHandler5
殷丿grd_志鹏
·
2023-07-27 16:37
源码
java
缓存
intellij-idea
源码
mybatis
Mybatis源码
剖析:二级缓存源码剖析
Mybatis源码
剖析:二级缓存源码剖析二级缓存构建在一级缓存之上,在收到查询请求时,MyBatis首先会查询二级缓存,若二级缓存未命中,再去查询一级缓存,一级缓存没有,再查询数据库。
丿涛哥哥
·
2023-07-27 16:07
MyBatis
java
mybatis
mybatis04-
mybatis源码
-一级缓存、二级缓存
文章目录拓展阅读一级缓存具体流程注意事项开启日志打印源码分析缓存key创建最终查询方法执行update、inset方法一级缓存问题关闭一级缓存二级缓存mybatis缓存执行流程redis集成mybatis二级缓存mybatis.xml指定缓存二级缓存回收策略软引用与弱引用的区别:MybatisRedisCacheUserEntity测试效果源码分析TransactionalCacheTransac
沐宇熙
·
2023-07-27 16:06
mybatis
mybatis
一级缓存
二级缓存
源码
MyBatis源码
解析(二)——执行流程
目录前言1、MyBatis执行SQL入口1.1、Sql会话工厂——SqlSessionFactory1.2、Sql会话——SqlSession1.3、执行器——Executor1.3.1、缓存执行器——CachingExecutor1.3.2、基础执行器——BatchExecutor2、MyBatis获取结果集2.1、StatementHandler2.1.1、RoutingStatementHa
爱看雲的雲
·
2023-07-27 16:05
MyBatis源码解析
mybatis
java
mysql
MyBatis源码
探究(一)
MyBatis源码
探究一一、概述Hibernatemybatisspringjdbc二、MyBatis整体架构模块相应介绍基础支持层核心处理层接口层一、概述HibernateHibernate是一款Java
qq1255510403
·
2023-07-26 16:53
数据库
mybatis
数据库
java
大数据量查询导致 OOM 从 mybatis 源码角度分析以及解决方案
这里写目录标题前言
Mybatis源码
系列文章地址CompletableFuture常用方法简单介绍不做文本重点用50mb内存查出50w数据方案介绍使用mybatis大数据量查询为什么会导致oom?
张子行的博客
·
2023-07-24 14:38
mybatis
java
开发语言
OOM
MyBatis源码
解析 - 类型转换模块
MyBatis源码
解析-类型转换模块前言JDBC数据类型与Java语言中的数据类型并不是完全对应的,所以在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换成JDBC类型,
janker0718
·
2023-07-23 04:48
图灵学院Java架构师-VIP-手写MyBatis框架
最近复习了Mybatis,就想用自己的理解手写mybatis框架,
Mybatis源码
的核心是jdk动态代理和jdbc。
冭朶d譕萘
·
2023-07-21 08:26
Mybatis源码
分析_事务管理器 (5)
今天我们首先学习2个设计模式。工厂设计模式和模板设计模式工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类实例化延迟到子类。上图的图很清晰:业务接口有很多实现类,而工厂接口也有还多实现类。每一个工厂的实现类对应一个业务实现类,来控制他们的实例化过程。如果业务类新增一个实现类,那么我们只要新增一个工厂实现类即可。而每一个业务实现类只负责自身的功能,对于新增的功能不会
chen_yao_kerr
·
2023-07-20 17:22
java
开发语言
Mybatis源码
分析_解析大流程梳理_解析配置文件 (3)
学习mybatis,绕不开一个核心类Configuration。这个类相当于一个小型数据库,把mybatis里面所有的配置信息基本全部给存储起来了。packageorg.apache.ibatis.session;importjava.util.Arrays;importjava.util.Collection;importjava.util.HashMap;importjava.util.Has
chen_yao_kerr
·
2023-07-20 17:51
Mybatis
mybatis
java
缓存
Mybatis源码
分析_解析大流程梳理_补充 (4)
上一篇,我们这只是粗略的说了一下Mybatis的配置文件解析的大体流程。而这一篇针对上一篇进行补充。1.是如何解析的我们经常会把一些公用的,重复出现的字段写在标签中,而通过上图,我们知道sqlElement是负责解析sql中公用字段的。其实,它就是拿到xml中的id值,然后把nameSpace和id进行拼接,形成一个全局唯一的id值。id为key,整个为value。放入map中2.是如何解析与封装
chen_yao_kerr
·
2023-07-20 17:51
Mybatis
mybatis
java
开发语言
MyBatis源码
分析_Executor组件及3个火枪手(6)
前提2.Executor执行器3.总结4.三个火枪手5.StatementHandler生成Statement6.ParameterHandler参数解析7.BoundSql的数据结构8.总结1.前提在
Mybatis
chen_yao_kerr
·
2023-07-20 17:50
Mybatis
mybatis
java
开发语言
手写mybatis(五):事务
文末附有源码地址博客为代码完成后才开始整理,展示的代码都是最终代码介绍:个人学习,代码写的不够好,有点乱通过学习
mybatis源码
模拟实现Mybatis(在完善)已实现:crud(实现XML配置,注解配置写过一点
白夜的Alice
·
2023-07-19 17:38
自定义框架
java
开发语言
后端
mybatis
Mybatis源码
之美:3.5.6.resultMap元素的解析过程(二)
鉴于processNestedResultMappings()后面的实现递归调用了resultMapElement()方法,所以我们继续回到buildResultMappingFromContext()方法的解析过程中来.//默认情况下,子对象仅在至少一个列映射到其属性非空时才创建。//通过对这个属性指定非空的列将改变默认行为,这样做之后Mybatis将仅在这些列非空时才创建一个子对象。//可以指
吃竹子的程序熊
·
2023-07-18 23:46
最近翻了翻mybatis初始化部分的源码,和大家分享一下阅读源码的过程和乐趣
mybatis源码
解析1.初始化过程静态代码块读取主配文件static{Stringconfig="mybatis-config.xml";try{//第一步加载主配文件InputStreamresourceAsStream
指针指指针
·
2023-07-16 16:00
框架源码
mybatis
java
mysql
Mybatis源码
篇:Mybatis初始化过程分析
文章目录1.Mybatis初始化过程简述2.Mybatis初始化源码分析2.1Mybatis初始化时序图2.2源码分析2.2.1SqlSessionFactoryUtil测试类代码2.2.2SqlSessionFactoryBuilder源码2.2.3XMLConfigBuilder源码2.2.4SqlSessionFactory相关属性2.2.5SqlSession相关属性3.总结4.使用到的设
sutong_first
·
2023-07-15 19:02
mybatis
mybatis
源码
1. Springboot集成Mybatis
文章目录1.springboot包装方式2.自行构建mybatis执行环境在深入理解
mybatis源码
之前,首先搭建mybatis的测试环境用于跟踪代码测试用。
苍鹰蛟龙
·
2023-07-15 01:30
Mybatis源码
mybatis
spring
boot
java
Java 定义返回一个不能被修改、删除元素的List
为啥突然分享下这个,也是从
mybatis源码
看到了,所以想分享下:org.apache.ibatis.plugin.InterceptorChain使用Collections.unmodifiableList
小目标青年
·
2023-07-14 02:32
跟我一起玩转
SpringBoot
java
list
unmodifiable
不能修改
【手撕
MyBatis源码
】插件体系
文章目录概述插件的使用插件代理机制自动分页插件拦截目标分页插件原理概述Mybatis作为一个应用广泛的优秀的ORM开源框架,这个框架具有强大的灵活性,在四大组件(Executor、StatementHandler、ParameterHandler、ResultSetHandler)处提供了简单易用的插件扩展机制。Mybatis对持久层的操作就是借助于四大核心对象。MyBatis支持用插件对四大核心
十八岁讨厌编程
·
2023-06-22 02:39
手撕框架源码
mybatis
java
mysql
Mybatis源码
学习
学习
Mybatis源码
,要有Spring源码的阅读基础,否则有些地方可能会不太明白。
每天进步亿点点的小码农
·
2023-06-20 23:24
Java
源码学习
Mybatis
mybatis
学习
spring
【手撕
MyBatis源码
】Configuration配置体系
文章目录Configuration概述Configuration的核心作用与配置来源配置元素元素承载配置文件解析XML文件解析流程注解配置解析Configuration概述Configuration是整个MyBatis的配置体系集中管理中心,前文所说的Executor、StatementHandler、Cache、MappedStatement…等绝大部分组件都是由它直接或间接的创建和管理。此外影
十八岁讨厌编程
·
2023-06-13 11:00
手撕框架源码
mybatis
java
mysql
源码分析之
MyBatis源码
目录
包分成三大类基础功能包这些包用来为其他包提供一些外围基础功能,如文件读取功能、反射操作功能等。这些包的特点是功能相对独立,与业务逻辑耦合小。配置解析包这些包用来完成配置解析、存储等工作。这些包中的方法主要在系统初始化阶段运行。核心操作包这些包用来完成数据库操作。在工作过程中,这些包可能会依赖基础功能包提供的基础功能和配置解析包提供的配置信息。这些包中的方法主要在数据库操作阶段运行。核心处理层主要做
SKang_b35a
·
2023-06-13 06:03
Mybatis源码
学习之全局配置文件和映射文件解析
全局配置文件和映射文件解析全局配置文件解析publicstaticvoidmain(String[]args)throwsIOException{//读取配置文件InputStreamis=Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1.xml");//创建SqlSessionFactory工厂SqlSe
wmxz520
·
2023-06-12 22:56
JavaEE
mybatis
学习
java
Mybatis 别名的配置 + Mybatis配置类的调查
mybatis-spring-boot-autoconfigure类型别名(typeAliases)SpringBoot五步配置Mybatis超简教程深入浅出Mybatis系列(四)—配置详解之typeAliases别名(
mybatis
fengyehongWorld
·
2023-06-11 17:01
#
Mybatis
mybatis
【手撕
MyBatis源码
】动态SQL全流程解析
文章目录动态SQL概述ifchoose(when、otherwise)trim(where、set)foreachOGNL表达式BoundSql动态SQL主流程分析SqlNodeDynamicContext源码解析StaticTextSqlNodeTextSqlNodeIfSqlNodeChooseSqlNodeForEachSqlNode动态脚本结构动态脚本执行SqlSourceStaticSq
十八岁讨厌编程
·
2023-06-11 12:58
手撕框架源码
mybatis
sql
java
【手撕
MyBatis源码
】MyBatis映射体系
文章目录映射工具MetaObject基本功能底层结构获取属性值的流程ResultMap结果集映射手动映射自动映射嵌套子查询循环依赖懒加载原理内部结构Bean代理过程联合查询和嵌套映射映射说明联合查询1对1查询映射1对多查询RowKey创建机制结果集解析流程映射工具MetaObject所谓映射是指结果集中的列填充至JAVABean属性。这就必须用到反射,而Bean的属性多种多样的有普通属性、对象、集
十八岁讨厌编程
·
2023-06-11 12:52
手撕框架源码
mybatis
java
数据库
MyBatis源码
mybatis源码
学习之mybatis执行流程分析
Mybatis执行流程分析mybatis全局配置文件mybatis全局配置文件中涉及的标签如下图所示配置文件解析publicstaticvoidmain(String[]args)throwsIOException{//读取配置文件InputStreamis=Resources.getResourceAsStream("org/apache/ibatis/builder/MapperConfig1
wmxz520
·
2023-06-09 05:45
JavaEE
mybatis
学习
java
Mybatis源码
解读系列(五)-Executor
这一篇我们再来梳理Mybatis中的Executor接口及其对应的实现类。上一篇我们主要了解的是StatementHanlder,现在我们来了解另一个接口Executor执行器,前面的StatementHanlder就是在这里创建以及使用的。一、Executor的结构publicinterfaceExecutor{ResultHandlerNO_RESULT_HANDLER=null;intupd
_微风轻起
·
2023-06-07 19:55
#
Mybatis系列
java
mybatis
mybatis源码解析
mybatis源码
运行详细流程
文章目录学习链接1.准备环境1.创建项目,导入相关jar包2.编写mybatis核心配置文件3.EmployeeMapper.xml、EmployeeMapper4.log4j.xml、Employee实体类2.测试1.测试类2.测试结果3.源码流程分析SqlSessionFactoryBuilderXMLConfigBuilderBaseBuilderConfigurationparser.pa
ps酷教程
·
2023-06-07 02:30
#
mybatis
mybatis
mybatisplus多租户插件学习
文章目录学习链接前言案例数据库准备建表插入数据环境准备UserUserMapperUserMapper.xmlMybatisPlusConfig测试TenantTest说明学习链接
mybatis源码
运行详细流程
ps酷教程
·
2023-06-07 02:22
#
mybatis
学习
mybatis
java
2.1、
mybatis源码
分析--基础模块之解析器
在mybatis中基本是使用xml配置文件来配置核心配置文件和映射配置文件,要把xml中的数据转换为java可以使用的数据,那么就要使用到xml解析器了,在mybatis中有专门的解析器,作为基础模块,帮助mybatis对一些资源进行解析。一、XPath简介mybatis初始化过程中处理config和映射文件时候使用的是DOM解析方式,并结合使用xpath解析xml配置文件xpath是一种为查
小manong
·
2023-06-06 23:29
MyBatis实现配置加载的步骤
本篇文章将结合
MyBatis源码
,对读取配置文件mybatis-config.xml和构建SqlSessionFactory的原理进
·
2023-06-06 21:16
Mybatis源码
分析(一)MapperProxy 的初始化
本文源代码来源于mybatis-spring-boot-starter的2.1.2版本一、前言我们用Spring整合mybatis的时候一定见过这两个注解@Mapper使用在mapper接口上,将接口托管给Spring管理。@MapperScan用来开启包扫描,扫描项目某路径下的Mapper接口。1.1@MapperScan@MapperScan无疑更方便,让我们来看下它做了什么事情?@Reten
大杯冰摩卡
·
2023-04-18 03:36
【设计模式】从
Mybatis源码
中学习到的10种设计模式
文章目录一、前言二、源码:学设计模式三、类型:创建型模式1.工厂模式2.单例模式3.建造者模式四、类型:结构型模式1.适配器模式2.代理模式3.组合模式4.装饰器模式五、类型:行为型模式1.模板模式2.策略模式3.迭代器模式六、总结一、前言“为什么学设计模式、看框架源码、补技术知识,就一个普通的业务项目,会造飞机不也是天天写CRUD吗?”你说的没错,但你天天写CRUD,你觉得烦不?慌不?是不是既担
逆流°只是风景-bjhxcc
·
2023-04-18 02:56
#
MyBatis
#
设计模式
java
设计模式
mybatis
Mybatis SqlSession案例详解
目录前言创建事务Transaction创建执行器Executor创建DefaultSqlSession对象总结前言老规矩,先上案例代码,我们按照这个案例一步一步的搞定
Mybatis源码
。
·
2023-04-18 01:07
【
Mybatis源码
分析】类型处理器(TypeHandler)及其注册
TypeHandler和TypeHandlerRegistryTypeHandlerTypeHandler源码分析TypeHandler注册,TypeHandlerRegistry源码分析TypeHandler拓展案例总结TypeHandler大伙都知道Mybatis是对JDBC的封装,那Mybatis是如何处理JDBC类型和Java类型之间的转换的呢?当在预处理语句(PreparedStatem
假正经的小柴
·
2023-04-15 16:05
Java源码分析
mybatis
java
spring
Mybatis插件开发及执行原理
mybatis源码
下载https://github.com/mybatis/mybatis-3,本文分析源码版本3.4.5mybatis启动大致流程在看这篇文章前,建议查看我另一篇文章,以了解框架启动的流程和框架中一些重要对象
万物皆字节
·
2023-04-15 16:00
Mybatis源码分析
mybatis
【mybatis】
mybatis源码
搭建demo
目录一、截图二、代码示例三、错误说明一、截图1.源码结构图2.resources截图3.将resources目标标记为资源根目录4.数据库表截图5.程序运行截图二、代码示例1.jdbc.properties配置driver=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8usern
王佑辉
·
2023-04-15 13:07
mybatis
mybatis
Mybatis常用工具类-SQL类
3.ResultSet类4.DatabaseMetaData类5.JDBC事务二、使用SQL类生成语句1.无工具类写SQL语句2.使用工具类3.SQL工具类的方法及作用4.源码分析前言从本章开始将会从
Mybatis
zhixuChen200
·
2023-04-14 22:38
#
Mybatis
mybatis
sql
java
【JDK8】
MyBatis源码
导入Idea
1.背景为了更好的将MyBatis的开发设计思想带到日常开发工作,将
MyBatis源码
导入到本地开发工具中(idea)。
virgil.wang
·
2023-04-12 23:41
#
2.MyBatis
mybatis
intellij-idea
java
导入
源码学习
mybatis源码
阅读笔记-卷三(核心知识上)
八.cachecache包内都是一些cache的实现类,用于Cache接口,它申明了如下方法://取得IDStringgetId();//存入值voidputObject(Objectkey,Objectvalue);//获取值ObjectgetObject(Objectkey);//删除值ObjectremoveObject(Objectkey);//清空voidclear();//取得大小in
WANGGGGG
·
2023-04-12 23:41
思维导图手撕
MyBatis源码
文章目录前置准备通过类加载器读取配置文件流创建sqlSessionFactory建造者模式的使用打开SqlSession获取Mapper接口对象执行Mapper接口方法前置准备既然要读MyBatis的源码,那么我们就要先弄清楚MyBatis的入口在哪。这里我们直接写一个标准的MyBatis使用程序,以此来寻找入口分析源码://第一步:读取mybatis-config.xml配置文件InputStr
十八岁讨厌编程
·
2023-04-12 03:47
手撕框架源码
mybatis
java
mysql
手写
Mybatis源码
(原来真的很简单!!!)
目录一、JDBC操作数据库_问题分析二、自定义持久层框架_思路分析三、自定义框架_编码1、加载配置文件2、创建两个配置类对象3、解析配置文件,填充配置类对象4、创建SqlSessionFactory工厂接口及DefaultSqlSessionFactory实现类5、创建SqlSession会话接口及DefaultSqlSession实现类6、创建Executor执行器接口及SimpleExecut
冬天vs不冷
·
2023-04-11 14:51
mybatis
mybatis
数据库
Mybatis 源码分析(二)之 Mybatis 操作数据库的流程
2.jpg
Mybatis源码
分析(二)之Mybatis操作数据库的流程Mybatis系列:Mybatis基础介绍与逆向工程的构建:https://www.jianshu.com/p/1c18db4d7a38
Mybatis
挂机的啊洋zzZ
·
2023-04-11 13:48
【
MyBatis源码
分析】五、MyBatis的缓存
五、MyBatis缓存文章目录五、MyBatis缓存缓存的概念与应用缓存的概念开发一个简单的缓存MyBatis中的缓存设计自定义一个Cache实现类MyBatis中的Cache实现类PerpetualCache装饰器CacheCache如何在MyBatis运行过程应用MyBatis缓存的二层体系一级缓存一级缓存源码分析二级缓存二级缓存源码分析二级缓存的创建缓存创建的时机二级缓存创建的方法
结构化思维wz
·
2023-04-10 19:47
MyBatis源码分析
mybatis
缓存
java
【
MyBatis源码
分析】六、MyBatis Plugins(拦截器)
六、MyBatisPlugins(拦截器)文章目录六、MyBatisPlugins(拦截器)拦截器的基本开发Plugins机制详解Plugins开发技巧prepare()Invocation与MetaObject开发打印Sql语句的Plugins应用场景Plugins实战开发分页插件的开发乐观锁的开发需求:如果我们要获得MyBatis在执行过程中的SQL语句该怎么办呢?(通过代码获取SQL语句)M
结构化思维wz
·
2023-04-10 19:47
MyBatis源码分析
mybatis
java
mysql
MyBatis的SQL执行结果和客户端执行结果不一致问题排查
MyBatis的SQL执行结果和客户端执行结果不一致问题排查问题引入测试表、测试数据问题介绍排查问题调试
MyBatis源码
JDBC执行SQL解决问题待解决问题最近遇到一个调试很久的问题,MyBatis查询
modelmd
·
2023-04-10 08:55
后端
数据库
mybatis
sql
java
oracle
【
Mybatis源码
解析】深入了解<select>等标签的实现流程(一)
前言以前只知道select标签的个别属性用法,并不了解其实现流程与原理,正巧,最近在学习Cache一二级缓存,看到与select标签相关的属性,就借此机会把这篇文章写了出来。此外,之所以以select为视角,是因为其他几个标签的源码流程与select大致相当,而且select在实际开发中使用更为频繁。本文思路:1.先了解select标签各个属性作用2.从mapper.xml中加载select标签的
涝山道士
·
2023-04-09 15:38
java
Mybatis
java
mybatis
mybatis源码
学习(四):动态SQL的解析
之前的一片文章中我们已经了解了MappedStatement中有一个SqlSource字段,而SqlSource又有一个getBoundSql方法来获得BoundSql对象。而BoundSql中的sql字段表示了绑定的SQL语句而且我们也已经了解过了SqlSource中的静态SQL的解析过程(RawSqlSource),这次我们来了解下动态SQL的解析过程。动态SQL对应的SqlSource实现主
weixin_30753873
·
2023-04-09 10:02
java
数据库
mybatis源码
学习------动态sql的解析(SqlSource)
SqlSourceSqlSource为SQL来源接口。它代表从MapperXML或方法注解上,读取的一条SQL内容。SqlSource接口SqlSource接口的定义如下:publicinterfaceSqlSource{//根据传入的实际参数,返回一个BoundSql对象BoundSqlgetBoundSql(ObjectparameterObject);}SqlSource有多个实现类,类图如
A股慈善家
·
2023-04-09 10:58
源码学习
mybatis
mybatis
源码
sqlSource
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他