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源码
解析:sql参数处理,原来可以这么简单-1,java项目技术栈
//XNode.getBodyDataprivateStringgetBodyData(Nodechild){//判断节点的类型if(child.getNodeType()==Node.CDATA_SECTION_NODE||child.getNodeType()==Node.TEXT_NODE){Stringdata=((CharacterData)child).getData();data=P
m0_64383449
·
2023-04-09 10:25
程序员
面试
java
后端
MyBatis核心源码剖析(SqlSession XML解析 Mapper executor SQL执行过程 自定义类型处理器 缓存 日志)
MyBatis核心源码剖析MyBatis核心源码剖析1
MyBatis源码
概述1.1为什么要看MyBatis框架的源码1.2如何深入学习
MyBatis源码
1.3源码分析的5大原则2MyBatis架构体系深入剖析
Ybb_studyRecord
·
2023-04-09 10:24
源码深度剖析
mysql源码剖析
sqlsession
mapper
executor
缓存
【
Mybatis源码
学习】Sql解析
【
Mybatis源码
学习】Sql解析一、前言二、XMLMapperBuilder三、XMLStatementBuilder四、Mapper接口绑定一、前言之前我在【
Mybatis源码
学习】初始化阶段中重点讲述了核心配置类
JAY-CHOW
·
2023-04-09 10:54
MyBatis
源码
mybatis
【
Mybatis源码
学习】参数解析
【
Mybatis源码
学习】参数解析一、几种入参形式1.单个入参2.多个入参3.入参为实体对象4.入参为Map二、mybatis执行入口三、参数解析流程四、总结一、几种入参形式这里只分析带有入参的方法。
JAY-CHOW
·
2023-04-09 10:53
MyBatis
源码
mybatis
MyBatis源码
的学习(14)---SqlSource和SqlNode
sqlSource接口中最底层的,最基础的是:StaticSqlSource,里面sql字段用于存放解析好的sql,比如将'#{}'替换为“?”占位符BoundSqlgetBoundSql(ObjectparameterObject);RawSqlSource--.>StaticSqlSource-->sql常规的解析Mapper.xml的时候,我们创建SqlSource对象:XMLStateme
itw_zhangzx02
·
2023-04-09 10:23
Mybatis源码学习
MYBATIS源码
深度分析---mapper初始化过程(三)
文章目录前言一、SqlMapper初始化mapper的注册创建MapperProxyFactory载入Mapper接口保解析mapper.xml准备阶段解析解析SQL公共片段解析SQLSqlSource对象的创建生成MappedStatement加入到configuration对象中解析mapper接口中所有方法前言在前面跟踪configuration对象初始化赋值的时候我们没有详细展开parse
chihaihai
·
2023-04-09 09:51
mybatis
java
mybatis
数据库
mybatis源码
学习笔记
Mapper(经过动态代理,第一层是mybatis的动态代理,还在mybatis的体系中)-->sqlSessionTemplate(由Mapper代理对象的sqlSession对象指向),虽然包含了SqlSessonFactory属性,但不能直接使用,必须经过sqlSessionTemplate的另一个属性SqlSessionProxy,即SqlSessionIntercepter的处理,通过该
陈余兴
·
2023-04-09 09:13
mybatis
java
缓存
Mybatis源码
学习笔记之Mybatis二级缓存
简介 Mybatis一级缓存是会话级的缓存,而二级缓存则是应用级别的缓存,默认关闭,二级缓存使用不慎可能会导致脏读。开启方式(SpringBoot+Mybatis) application.properties添加配置mybatis.configuration.cache-enabled=true 在mapper的xml文件中的namespace中加上 为了方便看到效果,applicati
Ddkjawed
·
2023-04-09 09:41
Java
java
开发语言
后端
mybatis
Mybatis学习笔记六之设计模式
Mybatis源码
中使用了大量的设计模式,通过观察设计模式在源码中的应用,能够更深入的理解设计模式。结合前面源码的分析,我们这里只介绍Build构建者模式、工厂模式和代理模式。1,Build构建者模
manba123456
·
2023-04-09 09:04
拉钩教育之开源框架学习
java
mybatis
设计模式
MyBatis源码
解读 9 种设计模式,真是太有用了~
圈”,选择“置顶公众号”每天早晨8点50分,准点开车打卡来源:crazyant|crazyant.net/2022.html虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis
程序IT圈
·
2023-04-09 09:03
设计模式
java
mybatis
spring
ehcache
shardingsphere源码解析
观看该文建议浏览:
Mybatis源码
分析分库分表:垂直拆分–按字段拆分。水平拆分–按行拆分。分库分表策略相关配置主要包括三部分:多库相关配置信息、针对库以及表相关分配策略、其他配置信息。
且听风吟0220
·
2023-04-09 05:26
SpringBoot
java
spring
spring
boot
(六)
MyBatis源码
阅读:MyBatis整合Spring的原理分析
一、概述把MyBatis集成到Spring里面,是为了进一步简化MyBatis的使用,所以只是对MyBatis做了一些封装,并没有替换MyBatis的核心对象。也就是说:MyBatisjar包中的SqlSessionFactory、SqlSession、MapperProxy这些类都会用到。mybatis-spring.jar里面的类只是做了一些包装或者桥梁的工作。只要我们弄明白了这三个对象是怎么
循环网络不循环
·
2023-04-08 02:44
Mybatis
mybatis
spring
java
(四)
MyBatis源码
阅读: MyBatis基础模块-反射模块
一、概述 MyBatis在进行参数处理、结果集映射等操作时会使用到大量的反射操作,Java中的反射功能虽然强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyBatis提供了专门的反射模块,该模块位于org.apache.ibatis.reflection包下,它对常见的反射操作做了进一步的封装,提供了更加简洁方便的反射API。二、反射模块(一)Reflector1、属性首
循环网络不循环
·
2023-04-08 02:13
Mybatis
mybatis
java
mysql
(五)
MyBatis源码
阅读: MyBatis基础模块-类型转换模块
一、概述MyBatis是一个持久层框架ORM框架,实现数据库中数据和Java对象中的属性的双向映射,那么不可避免的就会碰到类型转换的问题,在PreparedStatement为SQL语句绑定参数时,需要从Java类型转换为JDBC类型,而从结果集中获取数据时,则需要从JDBC类型转换为Java类型,所以我们来看下在MyBatis中是如何实现类型的转换的。二、源码阅读(一)TypeHandlerMy
循环网络不循环
·
2023-04-08 02:13
Mybatis
mybatis
java
mysql
Mybatis源码
分析补充(一)JDBC详解
目录一JDBC1.1JDBC介绍1.2建立数据源连接1.3Connection1.3.1数据库驱动1.3.2Driver接口1.3.3DriverManager1.4Statement1.4.1PreparedStatement1.4.2CallableStatement(了解)1.5ResultSet1.5.1ResultSet类型1.5.2ResultSet并行性1.5.3ResultSet可
长安不及十里
·
2023-04-07 15:19
#
Mybatis源码分析
mybatis
缓存
java
源码分析
学习
Mybatis源码
解析(九):插件机制
Mybatis源码
系列文章手写源码(了解源码整体流程及重要组件)
Mybatis源码
解析(一):环境搭建
Mybatis源码
解析(二):全局配置文件的解析
Mybatis源码
解析(三):映射配置文件的解析
Mybatis
冬天vs不冷
·
2023-04-07 13:48
mybatis
mybatis
java
数据库
spring-
mybatis源码
解析
本文主要围绕三个问题展开?1.spirng是怎么和mybatis关联起来的?2.xml和mapper是如何解析的3.mapper中的方法是怎么和xml中的方法关联起来的?Spirng是怎么和mybatis关联起来的在基本的MyBatis中,session工厂可以使用SqlSessionFactoryBuilder来创建。而在MyBatis-Spring中,则使用SqlSessionFactoryB
原飞木
·
2023-04-07 13:39
#
SB2源码学习
spring-mbatis
源码解析
xml
mapper
MyBatis 源码解析 面试题总结
MyBatis源码
学习环境下载文章目录1、工作原理1.1初始化1.1.1系统启动的时候,加载解析全局配置文件和相应的映射文件1.1.2建造者模式帮助我们解决复杂对象的创建:1.2处理SQL请求的流程1.2.1
柚几哥哥
·
2023-04-07 13:08
Spring全家桶及相关框架
面试题
mybatis
java
开发语言
mybatis源码
分析系列(开胃菜)-mybatis中的执行器架构体系
我们知道mybatis通过门面模式给我们提供了一个统一的增删改查的会话SqlSession。但是呢它就像服务员一样只负责点菜并不负责做菜,真正做菜的是执行器。那mybatis中有哪些执行器呢?mybatis中的执行器大概有这么多:Executor、CachingExecutor、BaseExecutor、SimpleExecutor、ReuseExecutor、BatchExecutor等。看起来
二战幸存者
·
2023-04-07 11:58
mybatis
mybatis
架构
java
MyBatis源码
分析(二):MyBatis整体架构及原理
一、Mybatis整体架构导图二、Mybatis的核心组成SqlSessionFactoryBuilder(构造器):根据配置信息(XML)生成SqlSessionFactory工厂接口,构造器使用了org.apache.ibatis.builder.xml包下的XMLConfigBuilder对Mybatis-config配置文件解析,该XML解析类使用了org.apache.ibatis.pa
weixin_30237719
·
2023-04-07 11:27
java
MyBatis源码
分析
文章目录一、前言1、介绍2、快速上手二、Mybatis的构建1、核心流程1.1介绍1.2配置文件解析1.3源码分析2、Configuration对象详解2.1配置文件dataSource内容替换2.2typeAliasesElement别名设置2.3数据库相关内容载入2.4mapper解析(重要✨)3、动态SQL构建3.1动态SQL解析3.2动态SQL脚本3.3SqlSource(SQL数据源)3
魅Lemon
·
2023-04-07 11:51
#
源码分析
后端
java
【
Mybatis源码
解析】- 整体架构及原理
version-3.5.5在深入了解Mybatis的源码之前,我们先了解一下Mybatis的整体架构和工作原理,这样有助于我们在阅读源码过程中了解思路和流程。核心流程在上一遍的入门程序中,我们通过示例代码简单的介绍了如何通过Myabtis进行一个简单的增删改查,并用简单的步骤描述了示例程序的运行过程。为了更直观,其工作原理可理解成如下步骤:初始化阶段:读取XML配置文件和注解中的配置信息,创建配置
老马说开发y
·
2023-04-07 11:21
java
mybatis源码
分析(1)整体架构及日志模块
mybatis整体架构及日志模块整体架构逻辑分层日志模块单模块分析其他模块的引用小结整体架构在把
mybatis源码
下载编译好成自己的模块时,就可以随心的加入一些注释。下面对其整体架构进行简单分析。
矮萌杰;
·
2023-04-07 11:18
mybatis
设计模式
java
mybatis
Mybatis源码
分析一-Mybatis基础架构以及设计模式
目录一、
Mybatis源码
导入1、
mybatis源码
下载地址2、源码包导入过程:二、
Mybatis源码
整体架构1、源码整体架构2、为什么mybatis设计要分层?
王老狮
·
2023-04-07 11:48
mybatis
java
设计模式
mybatis
mybatis源码
源码
MyBatis源码
分析之核心处理层
mybatis与数据库进行交互有两种方式,一种传统方式,一种mapper代理方式。通过对两种方式的分析我们需要掌握以下内容:传统方式MyBatis如何加载解析配置文件?MyBatis如何解析SQL、设置参数以及执行SQL的?MyBatis如何封装返回结果集?mapper代理方式MyBatis底层如何产生代理对象?当代理对象调用方法时它又是如何执行到底层的JDBC代码的?1传统方式源码剖析类似于Sp
Javaesandyou
·
2023-04-07 11:17
mybatis
java
开发语言
程序人生
架构师
MyBatis源码
分析(一)MyBatis整体架构分析
文章目录一、为什么要用MyBatis1、原始JDBC的痛点2、Hibernate和JPA3、MyBatis的特点4、MyBatis整体架构5、MyBatis主要组件及其相互关系6、
MyBatis源码
的特点二
秃了也弱了。
·
2023-04-07 11:42
#
spring
boot
cloud
mybatis
架构
java
MyBatis原理系列(三)-手把手带你了解SqlSession,SqlSessionFactory,SqlSessionFactoryBuilder的关系
MyBatis原理系列(一)-手把手带你阅读
MyBatis源码
MyBatis原理系列(二)-手把手带你了解MyBatis的启动流程MyBatis原理系列(三)-手把手带你了解SqlSession,SqlSessionFactory
Renaissance_
·
2023-04-07 11:10
Mybatis源码
分析(十五)Spring-Mybatis整理
目录一Spring与Mybatis整合二Spring中的一些概念2.1BeanDefinition2.2BeanDefinitionRegistry2.3BeanFactory2.4BeanFactoryPostProcessor2.5ImportBeanDefinitionRegistrar2.6BeanPostProcessor2.7ClassPathBeanDefinitionScanner
长安不及十里
·
2023-04-06 06:33
#
Mybatis源码分析
mybatis
spring
java
源码分析
学习
MyBatis源码
分析(03)SqlSession和Executor
前面的内容在源码中查看了SqlSessionFactory对象的整个构建过程,就是下面这一行代码:SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);下面我们来看一下SqlSession对象的构建过程,也就是下面这一行代码:SqlSessionsession=sqlSessionFa
郭艺宾
·
2023-04-05 16:55
跟我学,结合
Mybatis源码
去回答。讲出面试官都鼓掌的答案
、Builder模式2、工厂模式3、单例模式4、代理模式5、组合模式6、模板方法模式7、适配器模式8、装饰者模式9、迭代器模式虽然我们都知道有23个设计模式,但是大多停留在概念层面,真实开发中很少遇到
Mybatis
JAVA炭烧
·
2023-04-05 16:29
Mybatis源码
学习(六):Mapper接口“实例化”
前文回顾在上一篇文章中我们对Mybatis的流程进行了一次Debug,对于整体流程有了更清晰的认识。在我们Debug的过程中也提出了一个问题,**我们使用的Mapper接口并没有写接口的实现,那么这个接口是如何执行业务逻辑的呢?**今天我们将带着这个问题进行进一步学习。一、Mapper回顾在解答今天的问题之前,我们写回顾一下Mapper接口,这里以一个简单的查询为例。首先我们会定义一个Mapper
你可以叫我仔哥呀
·
2023-04-05 13:59
Mybatis源码学习
mybatis
学习
java
Mybatis源码
之动态代理应用分析
代理模式组件,涉及主题接口(Subject)、实现对象(RealSubject)与代理对象ProxySubject三个构成要素,具体参考《
Mybatis源码
之代理Proxy设计模式》。
明月照我行
·
2023-04-05 12:03
Mybatis源码
分析
一、
Mybatis源码
调用过程对于下面一段常用的代码,分析其调用过程SqlSessionFactoryfactory=newSqlSessionFactoryBuilder().build(Resources.getResourceAsReader
尐葮阿譽
·
2023-04-05 00:50
Mybatis
mybatis
mybatis源码分析
Mybatis一级缓存
mybatis二级缓存
Mybatis源码
学习六(MetaObject)
MetaObject基本架构MetaObject获取属性值流程源码分析MetaObject获取属性值publicclassMetaObjectTest{@Testpublicvoidtest1(){Objectblog=newBlog();Configurationconfiguration=newConfiguration();MetaObjectmetaObject=configuration
凌玉佳
·
2023-04-04 23:43
mybatis源码学习
学习
mybatis源码
解析
一:配置(约定大于配置)MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。配置文档的顶层结构如下:configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment
谁是黄黄
·
2023-04-04 23:38
mybatis
mybatis
Mybatis源码
分析---Mybatis二级缓存中的责任链模式
一、Mybatis的源码写的像艺术品Mybatis的代码设计的非常有观赏性,其中大量使用设计模式,并且用的非常棒;比如Mybatis将日志功能委托给其他的日志框架使用的是适配器模式加工厂模式实现的;Mybatis的插件是通过代理模式+责任链模式实现的;Mybatis的二级缓存是装饰器模式+责任链模式实现的;读源码不仅可以让我们了解其底层技术细节,有利于提高我们自己的编码能力,也可以学习这些优秀的框
鲜卑大帝
·
2023-04-04 23:07
设计模式
java
java
Mybatis源码
Mybatis 源码学习(7)-反射工具(ObjectWrapper & MetaObject)
历史文章:
Mybatis源码
学习(6)-反射工具(MetaClass)MetaClass可以通过反射来解析类级别类型信息,而ObjectWrapper是对对象的包装,可以通过字符串操作和查询对象的属性。
凉茶方便面
·
2023-04-04 23:02
Mybatis
源码学习
java
mybatis
源码
mybatis源码
系列(七)—— 反射模块
首先看一下反射模块的核心类:ObjectFactory:MyBatis每次创建结果对象的新实例时,它都会使用对象工厂(ObjectFactory)去构建POJO;ReflectorFactory:创建Reflector的工厂类,Reflector是MyBatis反射模块的基础,每个Reflector对象都对应一个类,在其中缓存了反射操作所需要的类元信息;ObjectWrapper:对对象的包装,抽
KennorWooo
·
2023-04-04 23:14
mybatis源码
mybatis
java反射
反射模块
Mybatis工具—反射工具(MetaObject)
MetaObject是Mybatis中的反射工具类,其位于
Mybatis源码
包中的org.apache.ibatis.reflection。
langeugene
·
2023-04-04 23:41
mybatis
mybatis
java
开发语言
Mybatis源码
篇(一) Mybatis中优秀的反射工具类
优秀的框架必然有着优秀的工具类,而我们在阅读优秀的框架之前先熟悉这些优秀的工具类会为我们读源码的时候减少不少的障碍,正所谓:磨刀不误砍柴工嘛;而且,当我们掌握了这些优秀的工具类,即使我们不去阅读源码,当我们在实际项目中也可以直接使用这些优秀的框架,拿来主义,该拿的时候我们还得拿。本文介绍下Mybatis中通过反射操作对象的getter/setter方法的四个重要工具类:Reflector、Meta
IT拾荒者x
·
2023-04-04 23:40
MyBatis源码分析
mybatis
java
mysql
【
Mybatis源码
分析】Mybatis中的反射(MetaObject)详细讲解
Mybatis中的反射一、引入MetaObject二、MetaObject源码分析1.使用MetaObject三、BeanWrapper源码分析1.MetaClass2.ReflectorFactory3.Reflector四、总结一、引入MetaObject在使用Mybatis,编写DQL语句时,查询结果可能会是多个,多变量指定肯定是不现实的。而Mybatis可以进行映射,将JDBC返回的结果映
假正经的小柴
·
2023-04-04 23:36
Java源码分析
mybatis
java
开发语言
四、
MyBatis源码
解析
文章目录如何解析全局配置文件?Configuration对象解析配置文件源码流程入口:SqlSessionFactoryBuilder().build()XMLConfigBuilder#构造函数XPathParser#构造函数XPathParser#createDocumentXMLConfigBuilder#构造函数Configuration#构造函数XMLConfigBuilder#pars
耀耀zz
·
2023-04-04 01:01
MyBatis
mybatis
数据库
java
Mybatis(调用简图和框架设计思路)+手写模拟
mybatis源码
分享
近期深入学习我们工作中基本都会使用到的Mybatis框架,从mybatis的框架设计上收获良多,下面用一篇简单易懂的文章分享一下学习心得,文末会结合阅读的源码结构进行模拟手写一个简易版的mybatis调用代码加深理解。一.什么是Mybatis?根据官网定义:mybatis–MyBatis3|IntroductionMyBatis是一款优秀的持久层ORM框架,它支持定制化SQL、存储过程以及高级映射
喜欢火影的木易杨
·
2023-04-04 01:46
mybatis专栏
xml
java
maven
从非计算机专业因基础太差腾讯二面被拒到收割阿里架构 offer,我花了 8 个月时间,复盘成功上岸
Linux(命令+生产环境+日志等)中间件&分布式(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)5-7年架构:开源框架(Spring5源码+SpringMVC源码+
Mybatis
tt8889
·
2023-04-03 21:08
Java
经验分享
架构
java
mybatis源码
解析(一) XML初始化流程
准备工作创建一个maven项目https://www.jianshu.com/p/e2dc268172bepom.xml文件4.0.0com.buddy.studyxxx1.0-SNAPSHOTwarMavenWebapphttp://www.example.com1.81.18.2UTF-81.81.8junitjunit4.11testorg.mybatismybatis3.5.0mysqlm
Skippyb
·
2023-04-03 19:17
构成架构师的技能体系
结合Spring5和
MyBatis源码
,带你理解作者框架思维,帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。三、分布式架构有了大牛的代码功底之后,接下来可以更好地学习分布式架构技术。
wandy0211
·
2023-04-03 18:27
mybatis源码
一(SqlSessionFactory)
一:首先对MyBatis的使用我们在最开始都已经知道可以通过xml配置文件的方式,也可以通过Java代码创建Configuration对象的方式。这两者实际上是一样,xml配置文件的方式最终也是通过解析xml配置文件创建一个Configuration对象。可能对于很多人(我也是)来说MyBatis通常是和Spring配合使用,用了N年MyBatis也不能把MyBatis说个所以出来回顾一下myba
木木在唱歌
·
2023-04-03 11:26
Mybatis
MyBatis源码
阅读–SqlSessionFactory说明
MyBatis源码
阅读-总索引文章目录前言继承体系源码分析私有属性构造器openSession()获取SqlSession前言SqlSessionFactory用于根据配置文件生成的配置类Configuration
皮蛋瘦肉
·
2023-04-03 11:10
Mybatis源码阅读
MyBatis
Mybatis源码
(一):SqlSessionFactory
在Mybatis中,SqlSessionFactory是一个重要对象,用来创建SqlSession,而SqlSession是用来操作数据库的。一.SqlSessionFactory的生成我们先来看一段代码:privatestaticSqlSessionFactorysqlMapper;@BeforeAllstaticvoidsetup()throwsException{createBlogData
Xelastic
·
2023-04-03 10:34
mybatis
java
mybatis
01
Mybatis源码
篇---创建SqlSessionFactory对象
在“Mybatis入门”篇中,以一个简单的demo,让我们初步了解MyBatis的运行机制。官方解释"每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心,SqlSessionFactory的实例可以通过SqlSessionFactoryBuilder获得。而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的configurati
mmd0308
·
2023-04-03 10:00
Mybatis
mybatis
mybatis源码
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他