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 中用到的 9 种设计模式!
Mybatis源码
中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。Mybatis至少遇到了以下的设计模式的使用:1、Builder
趣学程序
·
2020-06-24 20:17
GitHub开源项目学习
Mybatis源码
学习
个人学习GitHub开源项目系列
Mybatis源码
篇GithubLink:https://github.com/mybatis/mybatis-3Mybatis简介MyBatis是一款优秀的持久层框架,
Peter Pan 1231
·
2020-06-24 19:59
GitHub开源项目学习
Mybatis源码
分析之(五)mapper如何将数据库数据转换成java对象的
本篇对mybatis从取到数据库数据开始到映射成对象并返回的过程进行了详细的分析。转换ResultSet成java对象新建对象并赋值通过mapping映射属性获取Mapping总结转换ResultSet成java对象下面的代码是PreparedStatementHandler中的@OverridepublicCursorqueryCursor(Statementstatement)throwsSQ
晓_晨
·
2020-06-24 17:44
mybatis
14-
Mybatis源码
和设计模式-5(Executor组件与模板模式,装饰器模式)
文章目录Executor组件与模板模式一、Executor组件二、使用方式三、目录结构四、源码解析4.1Executor接口4.2BaseExecutor抽象类4.2.1BaseExecutor#query()4.2.1BaseExecutor#queryFromDatabase4.3三种子类4.3.1SimpleExecutor4.3.2ReuseExecutor4.3.3BatchExecut
学圆惑边
·
2020-06-24 16:48
Mybatis
16-
Mybatis源码
和设计模式-7(SqlSession模块与策略模式)
文章目录SqlSession模块与策略模式一、策略模式二、功能三、源码3.1实现类3.2DefaultSqlSession源码分析四、SqlSessionFactory4.1SqlSessionFactory接口4.2实现类DefaultSqlSessionFactory五、小结六、参考SqlSession模块与策略模式一、策略模式策略模式请参考:03-行为型模式(上)二、功能SqlSession
学圆惑边
·
2020-06-24 16:48
Mybatis
10-
Mybatis源码
和设计模式-1(数据源模块和工厂模式,代理模式)
文章目录Mybatis数据源模块和工厂模式、代理模式一、简介二、工厂模式引入2.1来源2.2优点2.3缺点2.4借鉴2.5分类2.5.1简单工厂模式2.5.1工厂方法模式2.5.1抽象工厂模式三、目录结构四、源码解析4.1pooled4.1.1PooledDataSource4.1.1.1获取连接4.1.1.2归还连接4.1.1.3获取数据源状态4.1.1.4pingConnection4.1.1
学圆惑边
·
2020-06-24 16:47
Mybatis
11-
Mybatis源码
和设计模式-2(日志模块和适配器模式,代理模式)
文章目录Mybatis日志模块和适配器模式、代理模式一、日志模块二、适配器模式三、目录结构四、源码解析4.1目标接口4.2适配者4.3适配器Slf4jImpl4.4小结五、其他适配器六、工厂LogFactory七、JDBC日志代理增强八、小结Mybatis日志模块和适配器模式、代理模式一、日志模块Mybatis本身并没有实现日志功能,换言之框架本身是不具备打印日志的能力的,但是我们在使用的过程中却
学圆惑边
·
2020-06-24 16:47
Mybatis
Mybatis源码
(二)之Spring整合mybatis创建SqlSession
Spring未整合Mybatis和整合之后Mybatis获取的方式:Spring没有整合Mybatis之前,获取SqlSession很简单就是DefaultSqlSessionFactory.openSession();Spring整合Mybatis的时候,稍复杂些:扫描dao,注册BeanDefinition并setBeanClass=MapperFactoryBeanSqlSessionTem
yaMa_码子
·
2020-06-24 13:04
技术博客
mybatis
分析
Mybatis源码
,并详解其用到的设计模式---日志模块
一、下载
Mybatis源码
MyBatis源码
下载地址:https://github.com/MyBatis/MyBatis-3源码包导入过程:1.下载MyBatis的源码2.检查maven的版本,必须是
贱贱的剑剑
·
2020-06-24 12:59
SSM框架
Mybatis源码
动态代理调用
解析xml讲完之后,我们开始讲调用了。因为mybatis实际使用了动态代理(阉割版),不过这里的动态代理没有实现类。有关这块设计模式可以找一下看看。publicclassTest{publicstaticvoidmain(String[]args)throwsIOException{Stringresource="mybatis-config.xml";InputStreaminputStream
攻城遭雷劈
·
2020-06-24 11:30
Mybatis
源码分析
Mybatis源码
-JavassistProxyFactory
学习一下JavassistProxyFactory类,其实它跟CglibProxyFactory几乎是一样的用法1、JavassistProxyFactory1.1、源码注释importjava.lang.reflect.Method;importjava.util.List;importjava.util.Map;importjava.util.Properties;importjava.uti
往前的娘娘
·
2020-06-24 11:42
mybatis源码
MyBatis源码
基于springboot的
Mybatis源码
分析 -----------------2 sql执行顺序
可以看到Mapper是一个MapperProxy的代理类执行mapper的方法最终会进入MapperProxy的invoke方法进入MapperMethods#execute。以select为例result=sqlSession.selectOne(command.getName(),param);这个sqlSession是一个SqlSessionTemplateSqlSessionTemplat
小宝宝的迷你宝
·
2020-06-24 11:05
java
框架
基于springboot的
Mybatis源码
分析 -----------------1 Mybatis初始化
直接找到MybatisAutoConfiguration这个类,至于为什么要找这个类,可以看下我springboot源码相关的文章。这个类上有一个注解@AutoConfigureAfter(DataSourceAutoConfiguration.class)说明在这之前会优先去解析DataSourceAutoConfiguration这个类,从名字也能看出这个和数据源有关系找到MybatisAut
小宝宝的迷你宝
·
2020-06-24 11:05
java
框架
MyBatis源码
分析(二)prepareStatement预编译的执行流程
email);result=pstmt.executeQuery();而Mybatis是怎么封装,又是怎么进行预编译的呢,今天就一文让你理解Mybatis的原理一、获取Executor我们之前一篇文章《
MyBatis
lz710117239
·
2020-06-24 11:19
mybatis
基于tk.mybatis插件改造实现数据库分表
因为DAO层使用的是tk.mybatis通用插件,所以就抽时间看了下tk.
mybatis源码
,以求得不改变任何业务代码实现个性化分表功能。最终得到以下实现方案。
CodingBetter
·
2020-06-24 09:13
原创
【
mybatis源码
】Mapper的动态代理
DefaultSqlSession的getMapper方法入手:(1)DefaultSqlSession的getMapper方法中实际上又调用的是Configuration中的getMapper方法:@OverridepublicTgetMapper(Classtype){returnconfiguration.getMapper(type,this);}(2)Configuration中的get
S_H-A_N
·
2020-06-24 08:35
mybatis
【
Mybatis源码
】一级缓存
参考:五月的仓颉:【
MyBatis源码
解析】MyBatis一二级缓存凯伦:聊聊MyBatis缓存机制Mybatis一级缓存配置:value有两个值可选:session:缓存对一次会话中所有的执行语句有效
S_H-A_N
·
2020-06-24 08:35
mybatis
【
Mybatis源码
】SqlSession四大对象
四大对象:Executor:执行器,用来调度StatementHandler、ParameterHandler、ResultHandler等来执行对应的SQL。StatementHandler:使用数据库的Statement执行操作,是四大对象的核心。ParameterHandler:用于对SQL参数的处理。ResultSetHandler:进行最后数据集ResultSet的封装返回处理的。一、E
S_H-A_N
·
2020-06-24 08:35
mybatis
【
Mybatis源码
】SqlSessionFactory构建过程
参考:
MyBatis源码
分析——介绍
MyBatis源码
分析——配置信息通过代码构建SqlSessionFactory的过程://mybatis的xml配置文件Stringresource="mybatis-config.xml
S_H-A_N
·
2020-06-24 08:34
mybatis
【
Mybatis源码
分析】
Mybatis源码
分析-数据库连接池
Mybatis支持三种类型的数据源处理:JNDI、无连接池和有连接池功能数据源,有连接池功能是在无连接池功能的基础上增加了连接池的处理。Mybatis的数据源管理是通过工厂模式实现,通过DataSourceFactory接口实现不同功能的数据源管理工厂。一、UnPooledUnpooledDataSourceFactory通过SystemMetaObject(后续分析)反射注入属性Unpooled
lizhengjava
·
2020-06-24 07:22
Mybatis
MyBatis源码
分析和纯手写MyBatis框架集合!!!(值得收藏)
最近写的系列文章都是和MyBatis原理、源码等相关的文章,到这里也就先告一段落了,在此进行简单的总结一下。(1)MyBatis能脱离Spring吗?MyBatis是否必须依赖于第三方框架呐?MyBatis自己就能玩爽嘛?《MyBatis能脱离Spring吗》一文为你解惑。(2)MyBatis一图就能看明白MyBatis这么一个轻巧的框架,底层是怎么一个原理在运转的,用一张图片就能看明白了《一图纵
悟纤
·
2020-06-24 05:27
spring
boot
Mybatis源码
深度解析视频课程
6套源码系列Spring,Mybatis,Springboot,Dubbo,Netty源码深度解析视频课程6套源码课程介绍:1、6套精品是掌柜最近整理出的最新课程,都是当下最火的技术,最火的课程,也是全网课程的精品;2、6套资源包含:全套完整高清视频、完整源码、配套文档;3、知识也是需要投资的,有投入才会有产出(保证投入产出比是几百上千倍),如果有心的朋友会发现,身边投资知识的大都是技术经理或者项
e小调1188
·
2020-06-24 04:40
Mybatis运行原理及源码解析
Mybatis源码
解析一、前言本文旨在
mybatis源码
解析,将整个mybatis运行原理讲解清楚,本文代码地址:https://github.com/lchpersonal/mybatis-learn
左撇子小哥哥
·
2020-06-24 03:15
mybatis
MyBatis源码
分析之抽象工厂模式和建造者模式的应用
抽象工厂模式的应用
MyBatis源码
的注释不多,不过SqlSession倒是给了两行注释:/***TheprimaryJavainterfaceforworkingwithMyBatis.
jian_j_z
·
2020-06-23 21:16
MyBatis
设计模式
JAVA高级架构师SpringBoot2.x源码分析之Banner类架构及原理解析
全面系统完整业界热门技术知识全覆盖Java架构师之源码分析专题SpringBoot2.x、Spring5、SpringMVC、
Mybatis源码
分析课程背景源码中我们可以学到很多东西,学习别人高效的代码书写
java_66666
·
2020-06-23 20:46
MyBatis源码
的学习(15)---sqlSession.selectList方法
sqlSession一共俩个实现类,我们这里分析默认的DefaultSqlSession类publicListselectList(Stringstatement,Objectparameter,RowBoundsrowBounds){try{//ms对象代表我们的xml中的一条sql。例如:...MappedStatementms=configuration.getMappedStatement
itw_zhangzx02
·
2020-06-23 20:59
Mybatis源码学习
MyBatis源码
的学习(12)---Mybatis是如何从Mapper.xml中的select到sqlSession.selectList的?
这个问题:估计大家都知道是动态代理。可是除了动态代理这之间还有哪些设计模式呢?//3、获取mapperUserMapperuserMapper=sqlSession.getMapper(UserMapper.class);//4、执行数据库操作,并处理结果集returnuserMapper.selectUser("10");先看我们的getMapper方法,是如何返回一个代理对象的。@Overri
itw_zhangzx02
·
2020-06-23 20:28
Mybatis源码学习
实现MyBatis Mapper XML文件增量动态刷新,自动加载,热加载,热部署
后来为了急需解决这个问题,进行修改
MyBatis源码
实现MapperXML增量刷新,直接覆盖方式实现,使用classloader的加载机制
iteye_9806
·
2020-06-23 19:59
Java
MyBatis
Mybatis源码
学习(11)-类型处理器之TypeHandlerRegistry、TypeAliasRegistry、Alias、MappedJdbcTypes、MappedTypes
一、概述 Mybatis类型转换模块,除了定义了一些列的类型处理器(类型转换器)外,还提供了一些其他类,比如:类型处理器注册器类、别名注解类等。主要包含了以下类:Alias注解类别名注解JdbcType枚举类JdbcType枚举类,对应数据库表中字段的类型MappedJdbcTypes注解类用于指明类型处理器可以处理的JdbcType中的类型集合MappedTypes注解类用于指明该TypeHa
姠惢荇者
·
2020-06-23 15:01
Mybatis源码学习
mybatis源码
配置文件解析之五:解析mappers标签
在上篇博客中分析了plugins标签,《
mybatis源码
配置文件解析之四:解析plugins标签》,了解了其使用方式及背后的原理。现在来分析标签。
迷茫中守候
·
2020-06-23 12:00
MyBatis源码
--解析mybatis-config.xml
查询数据库操作步骤如下:Readerreader=Resources.getResourceAsReader("mybatis-config.xml");sqlSessionFactory=newSqlSessionFactoryBuilder().build(reader);//初始化configurationreader.close();SqlSessionsqlSession=sqlSess
duiop99
·
2020-06-23 05:52
mybatis源码
学习之执行过程分析——sql执行后ResultSet的处理及结果返回
mybatis源码
学习及分析之执行过程分析——返回结果的处理上一篇中分析了sql语句的创建和执行过程,使用jdbc时,执行完sql后会返回ResultSet,然后我们会通过getInteger()、getString
波波仔86
·
2020-06-22 18:48
mybatis
Mybatis源码
(一)
一、配置解析过程Mybatis配置解析的过程分为两种文件。一个是mybatis-config.xml全局文件。另外一个就是所有的Mapper.xml文件,也包含在Mapper接口类上的定义的注解。如何解析的?SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuild().build(inputStream);使用SqlSessionFa
snail灬
·
2020-06-22 18:00
mybatis源码
阅读记录
文章目录书名书名深入浅出MyBatis技术原理与实战杨开振著这里讲了基本api和部分mybaits的源码导读非常推荐#大体结构SqlSessionFactory(defaultSqlSessionFactory)构建SqlSessionconfigurationxml文件的内存表达MappedStatement:保存mapper里面的一个节点(select,insert,delete,update
bleuesprit
·
2020-06-22 18:09
源码mybatis
面试官问你分析过
Mybatis源码
吗?
你只需:微笑看着面试官,轻拍手掌,微微颔首,把手指伸进水还剩一半的一次性纸杯里,然后在桌子上缓缓写出“没有”两个字,对面试官说:“当然没有,分析
Mybatis源码
有什么用?实际工作中根本用不到!”
程序员小灰
·
2020-06-22 18:41
手撕
mybatis源码
与设计模式
mybatis与设计模式Mybatis至少遇到了以下的设计模式的使用:Builder模式:例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;工厂模式:例如SqlSessionFactory、ObjectFactory、MapperProxyFactory;单例模
大灰狼学编程
·
2020-06-22 11:42
java学习
Mybatis源码
分析(十七) - 源码包分析【日志模块】
mybatis源码
下载地址:https://github.com/mybatis/mybatis-3
MyBatis源码
导入过程:下载MyBatis的源码检查maven的版本,必须是3.25以上,建议使用
日薪灬越亿
·
2020-06-22 10:09
mybatis
mybatis源码分析
Mybatis源码
解读-设计模式总结
Mybatis源码
解读-设计模式总结Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder
帅气的名称被占用
·
2020-06-22 06:51
两步搭建
Mybatis源码
阅读环境及其中的坑,还有比我更菜的?
一、下载项目从github下载源码,建议直接fork到自己git上,然后clone到本地,方便自己写些注释;mybatis-3源码地址parent-
mybatis源码
地址mybatis-3是依赖于parent
一个宋冬野
·
2020-06-22 04:31
mybatis
面试官:“谈谈MyBatis中都用到了那些设计模式?”
原文:https://zhuanlan.zhihu.com/p/69092981虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis源码
中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用
java架构小宗师
·
2020-06-22 03:01
MyBatis源码
解析(三)—缓存篇
前言大家好,这一篇文章是MyBatis系列的最后一篇文章,前面两篇文章《
MyBatis源码
解析(一)—构建篇》和《
MyBatis源码
解析(二)—执行篇》,主要说明了MyBatis是如何将我们的xml配置文件构建为其内部的
ObjectSpace
·
2020-06-22 02:37
技术博客
MyBatis源码
解析(二)—执行篇
前言上一篇文章《
MyBatis源码
解析(一)—构造篇》提到了MyBatis是如何构建配置类的,也说了MyBatis在运行过程中主要分为两个阶段,第一是构建,第二就是执行,所以这篇文章会带大家来了解一下MyBatis
ObjectSpace
·
2020-06-22 02:37
技术博客
Mybatis源码
导读
Mybatis源码
导读一、架构划分Mybatis架构可分为三层:接口层、核心处理层、基础支持层。如下图所示:接口层:开发者与Mybatis的交互入口,开启配置初始化逻辑、构建会话Session等。
一只打杂的码农
·
2020-06-21 23:12
MyBatis源码通
MyBatis源码通
Mybatis源码
解析
1.mybatis作为SSM中的持久层,我们都知道他是对JDBC的封装,那么他底层是如何实现的呢(新人记录学习,可能分析的不是很到位各位别喷,下面分析并不是接口绑定的情况)先从解析配置文件说起先从这个方法作为如果,调用重载方法;类加载器为空,又调用了classLoaderWrapper.getResourceAsStreamgetClassLoaders里面又创建了新的类加载器:这个方法最终会返回
Hello stupid
·
2020-06-21 23:09
源码解析
mybatis源码
解析---执行mapper接口方法到执行mapper.xml的sql的过程
TgetMapper(Classtype);很显然这个方法是更加Class名获取该类的一个实例,而Mapper接口只定义了接口没有实现类,那么猜想可知返回的应该就是更加mapper.xml生成的实例了。具体是如何实现的呢,先看下这个方法是如何实现的?DefaultSqlSession实现该方法的代码如下:1@Override2publicTgetMapper(Classtype){3returnc
夏的世界的伤
·
2020-06-21 21:00
【MyBatis 源码解析】 | Chat · 预告
1
MyBatis源码
解析:通过源码深入理解SQL的执行过程作者简介:来,某大型互联网电商公司的资深后端工程师,对源码、架构颇有兴趣和研究。
技术杂谈哈哈哈
·
2020-06-21 21:52
Mybatis源码
研究4:日志框架的实现
一、logging包的概述本包主要依赖了Mybatis的reflection包的ExceptionUtil和io包的Resources,以及第三方的Log4j,Slf4j,CommonsLogging。Mybatis的其它包大量引用了本包中的类和接口,即严重依赖于本包。从Mybatis自身的包和类来看,logging包对其它包仅有少量的依赖,而其它很多包却对logging包有大量的依赖。因此,先从
小雷FansUnion
·
2020-06-21 20:48
从 0 开始手写一个 Mybatis 框架,三步搞定!
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。1Mybatis框架流程简介在手写自己
K'illCode
·
2020-06-21 19:53
Java框架
Mybatis源码
分析高频面试题-如何实现直接调用接口方法的
先了解一下在mybatis原生方式中如何使用接口调用。//从sqlSession中获取对应的mapper,参数为Mapper的Class对象UserMappermapper=sqlSession.getMapper(UserMapper.class);//然后就可以直接调用接口方法了Useruser=mapper.selectById(1);从使用方式可以看出,首先是调用sqlSession.ge
码拉松
·
2020-06-21 18:05
mybatis
java
mybatis
Mybatis源码
解读(一)--日志模块(适配器模式、动态代理)
Mybatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Mybatis的源码可以说写的非常漂亮,模块之前划分的很清晰,里面大量采用了设计模式,其中的一些模块完全可以二次封装作为工具类来使用。本文开始每一篇都会对其中一个模块进行解读,分析其设计模式。为什么说Mybatis的日志模块优雅日志模块的代码在org.apache.ibatis.logging。Mybatis的日志功能
lwtxzwt
·
2020-06-21 15:04
Mybatis源码
上一页
20
21
22
23
24
25
26
27
下一页
按字母分类:
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
其他