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是一款半自动的ORM框架,是目前国内Javaweb开发的主流ORM框架,因此作为一名开发者非常有必要掌握其实现原理,才能更好的解决我们开发中遇到的问题;同时,Mybatis的架构和源码也是很优雅的,使用了大量的设计模式实现解耦以及高扩展性,所以对其设计思想,我们也非常有必要好好理解掌握。(PS:本系列文章基于3.5.0版本分析)精良的Mybatis骨架宏观设计Mybatsi的源码
java对象必须new
·
2022-06-18 19:00
java
数据库
java
python
mysql
spring
Mybatis源码
分析——基础模块与核心原理
基础支持层基础支持层位于MyBatis整体架构的最底层,支撑着MyBatis的核心处理层,是整个框架的基石。基础支持层中封装了多个较为通用的、独立的模块。不仅仅为MyBatis提供基础支撑,也可以在合适的场景中直接复用。反射模块MyBatis在进行参数处理、结果集映射等操作时会使用到大量的反射操作,Java中的反射功能虽然强大,但是代码编写起来比较复杂且容易出错,为了简化反射操作的相关代码,MyB
、楽.
·
2022-06-18 19:59
#
mybatis
java
后端
mybatis
Mybatis源码
分析——插件详解
插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或者改变原有的功能,MyBatis中也提供的有插件,虽然叫插件,但是实际上是通过拦截器(Interceptor)实现的,在MyBatis的插件模块中涉及到责任链模式和JDK动态代理,这两种设计模式的技术知识也是大家要提前掌握的。1.自定义插件首先我们通过实现一个自定义插件来对该部分有个清楚的认识。1.1创建Inter
、楽.
·
2022-06-18 19:29
#
mybatis
java
后端
mybatis
源码
Mybatis源码
初探——优雅精良的骨架
文章目录前言精良的Mybatis骨架宏观设计基础支撑日志日志的加载日志的使用数据源数据源的创建池化技术原理数据结构获取连接回收连接缓存缓存的实现CacheKey反射总结前言Mybatis是一款半自动的ORM框架,是目前国内Javaweb开发的主流ORM框架,因此作为一名开发者非常有必要掌握其实现原理,才能更好的解决我们开发中遇到的问题;同时,Mybatis的架构和源码也是很优雅的,使用了大量的设计
夜勿语
·
2022-06-18 19:58
源码系列
Mybatis
Java
mybatis
二级缓存
MyBatis源码
(1)—— MyBatis架构梗概
我是如何看源码的二、MyBastis架构1.预先分析一下MyBatis的骨架2.根据这个架构写出一个MyBatis的1.0版本Demo3.看1.0版本有哪些不足,该添加些什么,该怎样升级4.开始看真实的
MyBatis
_躬行_
·
2022-06-18 19:28
#
MyBatis框架
项目架构
MyBatis
MyBatis——源码解析MyBatis框架底层的执行原理
文章目录:1.前言2.案例项目源码3.
MyBatis源码
解析底层执行原理3.1读取mybatis配置文件创建出SqlSeesionFactory对象3.2通过SqlSeesionFactory对象进而创建出
张起灵-小哥
·
2022-06-18 19:26
#
【MyBatis】
#
【Java面试】
java
mybatis
源码解析
盘点MyBatis优良设计之接口及其实现类间的故事
而
MyBatis源码
里面就有不少关于接口及其实现类的良好设计,在这里笔者罗列一些设计供大家学习参考参考。不知道大家是否记得上转型的概念,不记得的就得下点功夫了。二、接口及其
卡布奇诺-海晨
·
2022-06-14 10:51
MyBatis
架构
Mybatis源码
分析
一、Mybatis的使用创建maven工程。添加maven依赖org.mybatismybatis3.5.7
bei_er
·
2022-06-12 16:00
解析
MyBatis源码
实现自定义持久层框架
目录自定义框架设计自定义框架实现使用端框架端自定义框架设计使用端:提供核⼼配置⽂件:sqlMapConfig.xml:存放数据源信息,引⼊mapper.xmlMapper.xml:sql语句的配置⽂件信息框架端:1.读取配置⽂件读取完成以后以流的形式存在,我们不能将读取到的配置信息以流的形式存放在内存中,不好操作,可以创建JavaBean来存储(1)Configuration:存放数据库基本信息、
·
2022-05-28 13:04
MyBatis源码
学习笔记(一) 初遇篇
这个系列的文章的开篇《当我们说起看源码时,我们是在看什么》在去年十月份就开始了,今天开始填这个系列的坑。MyBatis是我接触的第一个ORM框架,也是我目前最为熟悉的ORM框架,对它一直停留在用的阶段,今天尝试来看MyBatis的内部构造。如果还不会MyBatis的,可以先去看下《假装是小白之重学MyBatis(一)》。那该如何看源码呢?我是把MyBatis的源码下载下来,茫无目的的看?这会不会迷
·
2022-04-30 17:25
mybatis
Mybatis执行流程,源码解析
文章目录简单使用
Mybatis源码
解析获取配置文件的输入流获取SqlSessionFactory对象创建SqlSession获取Mapper接口对象接口方法的调用简单使用Mybatis在看Mybatis
Jayicee
·
2022-04-18 13:24
Web框架
数据库
mybatis
java
面试必问|聊聊MyBatis执行流程?
总之,MyBatis几乎成为了Java开发人员必须深入掌握的框架技术,今天,我们就一起来深入分析
MyBatis源码
。文章有点长,建议先收藏后慢慢研究。整体三万字左右,全程高能,小伙伴们可慢慢研究。
IT技术精选文摘
·
2022-04-18 13:53
java
spring
android
编程语言
面试
面试必问 | 聊聊MyBatis执行流程?
总之,MyBatis几乎成为了Java开发人员必须深入掌握的框架技术,今天,我们就一起来深入分析
MyBatis源码
。文章有点长,建议先收藏后慢慢研究。整体三万字左右,全程高能,小伙伴们可慢慢研究。
冰 河
·
2022-04-18 13:52
面试必问系列
一起进大厂系列
面试必问系列
Offer
程序员进阶
技能提升
架构师进阶
Mybatis手撸(二)创建简单的映射器代理工厂
看过
Mybatis源码
之后才知道原来Mybatis使用了Mapper接口代理类,把所有的数据库操作都交给了代理类处理。二、Binding模块这个Mapp
·
2022-04-11 22:20
javamybatis动态代理
Mybatis源码
解析
目录传统JDBC的问题如下mybatis对传统的JDBC的解决方案Mybaits整体体系图
MyBatis源码
编译启动流程分析1、解析全局配置文件简单总结2、Mapper.xml文件解析3、二级缓存的解析
WinnerBear
·
2022-03-31 12:57
Mybatis
java
Java学习路线目录索引(转载别人的)
Java学习路线目录索引(持续更新中)Java学习路线目录索引后续会将下面源码及资料发布到github,欢迎star1、
MyBatis源码
及资料:https://github.com/coderZYGui
以码平川
·
2022-03-27 14:18
java
intellij-idea
开发语言
Java学习路线目录索引
Java学习路线目录索引后续会将下面源码及资料发布到github,欢迎star1、
MyBatis源码
及资料:https://github.com/coderZYGui/MyBatis-Study2、Sping
以码平川
·
2022-03-27 14:48
Java知识
javaWeb前后端
微服务
SpringBoot整合Thymeleaf小项目
SpringBoot整合Thymeleaf小项目1.项目简绍本项目使用SpringBoot开发,jdbc5.1.48
Mybatis源码
可下载其中涉及功能有:Mybatis的使用,Thymeleaf的使用
程序员小徐同学
·
2022-03-25 08:17
spring
boot
springboot
mybatis源码
解读-Java中executor包的语句处理功能
目录1.mybatis对多语句类型的支持2.mybatis的语句处理功能1.mybatis对多语句类型的支持在mybatis映射文件中传参数,主要用到#{}或者${}.#{}:表示使用这种符号的变量会以预编译的形式赋值到sql片段中。${}:表示使用这种符号的变量会以字符串的形式直接插到sql片段中。mybatis中支持三种语句类型,不同语句类型支持的变量符号不同。mybatis的三种类型如下:S
·
2022-03-16 13:21
吃透
Mybatis源码
-缓存的理解(三)
五星好评⭐⭐⭐⭐⭐感谢前言对于Mybatis的缓存在上一章节《吃透
Mybatis源码
-Mybatis执行流程》我们有提到一部分,这篇文章我们对将详细分析一下Mybat
墨家巨子@俏如来
·
2022-03-11 14:19
《吃透Mybatis源码》
缓存
redis
Mybatis缓存
手写模拟实现一个简易Mybatis,支持XML和注解方式查询
本文承接上一文章的小节继续展开Mybatis(调用简图和框架设计思路)+手写模拟
mybatis源码
分享_喜欢火影的木易杨的博客-CSDN博客我们结合前面对Mybatis设计的分层结构猜想,参考
mybatis
喜欢火影的木易杨
·
2022-03-08 08:20
mybatis专栏
xml
spring
java
Mybatis 使用的 9 种设计模式,真是太有用了
Builder模式2、工厂模式3、单例模式4、代理模式5、组合模式6、模板方法模式7、适配器模式8、装饰者模式9、迭代器模式虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis
·
2022-02-23 10:51
javamybatis
看完
Mybatis源码
,我目瞪口呆
最近一直在研究
MyBatis源码
,作为国内经常使用的持久层框架,其内部代码的设计非常优秀。比如在开发过程中,有能力对框架进行深度的定制化开发,解决BUG也更加得心应手!
程序员摩西
·
2022-02-21 09:46
Java
java
程序员
程序人生
后端
spring
mybatis源码
阅读笔记-卷四(注解)
十.annotations注解包Mybatis使用注解的方式可以减少使用xml配置sql,方便用断点的形式检测生成的sql,代码的可读性更强,更利于维护。10.1Param注解用于定义接口入参的别名,方便代码运行时获取接口入参,而不至于读取参数表中的参数时因为参数类型相同而导致参数获取紊乱。用法:ListselectByIdAndName(@Param("id")Integerid,@Param(
WANGGGGG
·
2022-02-19 07:15
mybatis源码
分析-selectOne-03
上篇文章我们分析到了CachingExecutor,本文我们就来详细的分析一下CachingExecutor。为了方便阅读我们再来看一下Executor的类图Executor.png1.1CachingExecutorpublicclassCachingExecutorimplementsExecutor{privatefinalExecutordelegate;privatefinalTrans
哟西_c1df
·
2022-02-18 04:16
mybatis源码
解读之executor包懒加载功能
ProxyFactory是创建代理类的工厂接口,其中的setProperties方法用来对工厂进行属性设置,但是mybatis内置的两个实现类都没有实现该接口,所以不支持属性设置。createProxy方法用来创建一个代理对象publicinterfaceProxyFactory{ //设置工厂属性 defaultvoidsetProperties(Propertiesproperties){ }
·
2022-02-15 18:49
mybatis源码
解读之executor包语句处理功能
1.mybatis对多语句类型的支持在mybatis映射文件中传参数,主要用到#{}或者${}.#{}:表示使用这种符号的变量会以预编译的形式赋值到sql片段中。${}:表示使用这种符号的变量会以字符串的形式直接插到sql片段中。mybatis中支持三种语句类型,不同语句类型支持的变量符号不同。mybatis的三种类型如下:STATEMENT:这种语句类型中,只会对sql片段进行简单的字符串拼接。
·
2022-02-15 18:49
mybatis-spring解析
1、概述原生
Mybatis源码
简析(上)原生
Mybatis源码
简析(下)在介绍原生
Mybatis源码
简析文章中,我们知道,Mapper接口的生命周期是在方法级别,方法执行结束,Mapper接口的动态代理实现类的生命就终结了
Hogantry
·
2022-02-15 16:41
mybatis源码
分析
Mybatis概览功能架构功能架构.png源码架构源码架构.png模块描述地址:http://www.mybatis.org/mybatis-3/zh/apidocs/index.htmlannotations:注解如ResultMap,Param等binding:接口方法和语句的绑定builder:配置解析cache:缓存cursor:游标datasource:数据源exceptions:异常e
剑道_7ffc
·
2022-02-15 11:48
mybatis源码
分析(三):mybaits是如何执行一条sql语句的
mybatis代理对象的创建过程在上一遍
mybatis源码
分析(二):mybatis在执行SQL语句之前都做了什么中我们通过源码分析看到mybatis是如何构建SqlSessionFactory和SqlSession
猫清扬
·
2022-02-14 14:18
MyBatis源码
解析(四) Cache模块
MyBatis的二级缓存MyBatis的缓存分为一级缓存和二级缓存,一级缓存是SqlSession级别的缓存,二级缓存是mapper级别的缓存。但是这篇博客主要是介绍mybaits中缓存接口和缓存键接口,以及一些缓存实现。之前写过一篇博客简单介绍了一下Hibernate的两级缓存。链接:https://blog.csdn.net/Let_me_tell_you/article/details/80
谈谈理想_ttlx
·
2022-02-13 05:20
源码学习之Mybatis
Mybatis源码
解读1源码下载学习源码之前需要先将源码下载下来,这里需要下载
mybatis源码
和mybatis-parent源码,下载地址如下:下载
mybatis源码
时选择对应的Release版本:下载完
不入大厂不改名
·
2022-02-11 17:15
MyBatis 源码解析(二):SqlSession 执行流程
简介上一篇文章(
MyBatis源码
解析(一):初始化和动态代理)分析了MyBatis解析配置文件以及Mapper动态代理相关的源码,这一篇接着上一篇探究SqlSession的执行流程,另外了解一下MyBatis
然则
·
2022-02-10 19:08
MyBatis源码
解析——获取SqlSessionFactory方式
目录
MyBatis源码
解析_获取SqlSessionFactory首先从Resources.getResourceAsReader(path)进入到SqlSessionFactoryBuilder.build
·
2022-02-09 11:16
Mybatis源码
分析(七)自定义缓存、分页的实现
上一章节通过源码已经深入了解到插件的加载机制和时机,本章节就实战一下。拿两个功能点来展示插件的使用。一、缓存我们知道,在Mybatis中是有缓存实现的。分一级缓存和二级缓存,不过一级缓存其实没啥用。因为我们知道它是基于sqlSession的,而sqlSession在每一次的方法执行时都会被新创建。二级缓存是基于namespace,离开了它也是不行。有没有一种方式来提供自定义的缓存机制呢?1、Exe
清幽之地
·
2022-02-08 23:50
mybatis
近日新起了一个项目,所以重新搭建了一下Spring-mybatis,下面是搭建笔记和从Spring-
mybatis源码
分析其如何使用Java动态代理,希望对大家有帮助。
Quillagua
·
2022-02-08 17:27
MyBatis源码
系列--4.
mybatis源码
解析(下)
接着上一篇分析源码,从编程式的demo入手InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);SqlSessionsession=sq
威少JAVA
·
2022-02-07 08:12
mybatis(一):加载和解析配置文件
在这里记录一下自己学习
mybatis源码
过程中的一些学习体会,文章内容基于mybatis3.5.3-SNAPSHOT:下面是mybatis一个测试用例中配置文件的截图,配置文件详情参考mybatis中文官网
一只老实的程序猿
·
2022-02-06 17:36
MyBatis源码
系列--3.
mybatis源码
解析(上)
分析源码,从编程式的demo入手InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);SqlSessionsession=sqlSess
威少JAVA
·
2022-02-06 11:29
mybatis源码
分析(二):mybatis在执行SQL语句之前都做了什么
SqlSessionFactory构建过程在上一遍我们通过JDK的动态代理简单实现了一个“mybatis框架”(
mybatis源码
分析(一):自己动手写一个简单的mybaits框架),并分析了一下我们自己的框架还有那些问题需要解决
猫清扬
·
2022-01-29 16:11
Mybatis源码
-缓存机制
前言在
Mybatis源码
-Executor的执行过程中对Mybatis的一次实际执行进行了说明,在整个执行过程中,没有对缓存相关逻辑进行分析,这本篇文章中,将结合示例与源码,对Mybatis中的一级缓存和二级缓存进行说明
·
2021-12-28 21:43
MyBatis源码
(2)-SqlSessionFactoryBean
从源码(1)中我们知道knownMappers.get(type)获取xml的解析但是put是什么时候执行的?那么就是现在要看的SqlSessionFactoryBean源码SqlSessionFactoryBeanpublicclassSqlSessionFactoryBeanimplementsFactoryBean,InitializingBean,ApplicationListener{实
zianL
·
2021-12-22 14:56
Mybatis源码
-Executor的执行过程
前言在
Mybatis源码
-SqlSession获取文章中已经知道,Mybatis中获取SqlSession时会创建执行器Executor并存放在SqlSession中,通过SqlSession可以获取映射接口的动态代理对象
·
2021-12-20 20:12
Mybatis源码
解析之事务管理
目录Mybatis事务管理和Spring整合后的事务管理Mybatis事务管理我们可以在mybatis-config.xml中配置事务管理器的实现当值为JDBC时,事务管理实现类为JdbcTransaction,底层利用数据库的Connection来管理事务当值为MANAGED时,事务管理实现类为ManagedTransactionFactory,但它对事务的管理是一个空实现,将事务管理交给外部容
·
2021-12-19 17:59
Mybatis源码
-SqlSession获取
前言已知在Mybatis的使用中,使用Mybatis时会先读取配置文件mybatis-config.xml为字符流或者字节流,然后通过SqlSessionFactoryBuilder基于配置文件的字符流或字节流来构建SqlSessionFactory,然后再通过SqlSessionFactory的openSession()方法获取SqlSession,示例代码如下所示。publicstaticvo
·
2021-12-09 19:47
Mybatis源码
-动态SQL的实现原理
前言Mybatis提供了强大的动态SQL语句生成功能,以应对复杂的业务场景,本篇文章将结合Mybatis解析SQL语句的过程对Mybatis中对,,等动态SQL标签的支持进行分析。正文一.XML文档中的节点概念在分析Mybatis如何支持SQL语句之前,本小节先分析XML文档中的节点概念。XML文档中的每个成分都是一个节点,DOM对XML节点的规定如下所示。整个文档是一个文档节点;每个XML标签是
·
2021-12-09 15:51
mybatis源码
分析(一、解析配置文件)
借鉴这位的代码:https://juejin.im/entry/5b9886735188255c960c1bec加于学习、记录笔记。从最简单的demo开始分析。配置文件:mybatis-config.xmlpublicclassMyBatisTest{privateSqlSessionFactorysqlSessionFactory;@Beforepublicvoidprepare()throws
无聊之园
·
2021-12-08 16:37
Mybatis源码
-加载映射文件与动态代理
前言本篇文章将分析Mybatis在配置文件加载的过程中,如何解析映射文件中的SQL语句以及每条SQL语句如何与映射接口的方法进行关联。在看该部分源码之前,需要具备JDK动态代理的相关知识,如果该部分不是很了解,可以先看Java基础-动态代理学习JDk动态代理的原理。正文一.映射文件/映射接口的配置给出Mybatis的配置文件mybatis-config.xml如下所示。上述配置文件的mappers
·
2021-11-29 10:00
Java基础-动态代理
使用到了动态代理的设计思想,为了搞明白Mybatis中的动态代理,本篇文章会结合实例和源码对JDK动态代理进行学习,并会在最后总结JDK动态代理与CGLIB动态代理的区别,以帮助更好的理解动态代理,为
Mybatis
·
2021-11-08 17:33
Mybatis原理及源码分析
作为Java程序员Mybatis应该是一个必会框架了,其源码体量只有Spring的1/5,也是Hibernate的1/5,相比于其他流行框架
Mybatis源码
无疑是学习成本最低的,当做年轻人看的第一个框架源码
Monster_起飞
·
2021-10-26 15:26
JAVA
java
spring
开发语言
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他