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的解析
之前的一片文章中我们已经了解了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
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
宜宾五中2021年暑期学习总结
政治、政策、党史
专题学习
24日上午,宜宾市翠屏区教育和体育局党委书记
张俊华
·
2023-04-07 15:24
2035年之我 、老师 、学生 、学校畅想曲
2019年8月5日,如约而至进行兴成长计划1班第5课《爱我所爱尽我所能夜空中有颗最亮的星》的
专题学习
。内心被深深吸引,更有一种被点燃的激情和迫切在燃烧。
多乡516李映翠
·
2023-04-07 15:47
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
开发语言
5月16日芭学园《儿童纪律教育》
专题学习
感悟-刘欣雨-春蕾五幼
一、感受1:当一个人被某种东西长久不满足时,这种想法只会越来越严重,因为这种需要一直都在,会越来越强烈。2:成人对孩子的要求越多,遇到的障碍就越多,是因为儿童想要控制自己的生活,对个人权力的需要。成人应意识到需要,了解原因,尽可能给孩子提供选择的机会。二、收获孩子不止需要物质满足,有时候表面上孩子需要的是物质,但内在其实是爱。儿童是自我的,儿童自身以为他的行为可以带给他想要的爱,但有时成人却发觉不
奶茶妹妹略
·
2023-04-07 13:13
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
2023年最全前端面试题考点HTML5+CSS3+JS+Vue3+React18+八股文+手写+项目+笔试
分集(与合集同步,方便
专题学习
)2023年最全前端面试题考点HTML5+CSS3+JS_参宿7的博客-CSDN博客2023年前端面试题考点之通信(渲染、http协议、缓存、异步、跨域)_参宿7的博客-CSDN
参宿7
·
2023-04-07 01:56
前端
javascript
前端
react
vue
算法
Mybatis源码
分析(十五)Spring-Mybatis整理
目录一Spring与Mybatis整合二Spring中的一些概念2.1BeanDefinition2.2BeanDefinitionRegistry2.3BeanFactory2.4BeanFactoryPostProcessor2.5ImportBeanDefinitionRegistrar2.6BeanPostProcessor2.7ClassPathBeanDefinitionScanner
长安不及十里
·
2023-04-06 06:33
#
Mybatis源码分析
mybatis
spring
java
源码分析
学习
应县法学会召开习近平总书记“七一”重要讲话
专题学习
研讨会
应县法学会召开习近平总书记“七一”重要讲话
专题学习
研讨会近日,应县政法委、应县法学会召开习近平总书记“七一”重要讲话
专题学习
研讨会,县委常委、政法委书记王福主持会议并讲话,政法委班子成员、法学会副会长,
717b1f177993
·
2023-04-05 18:28
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
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他