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的一级缓存和二级缓存Mybatis系列:Mybatis基础介绍与逆向工程的构建:https://blog.csdn.net/qq_34002221/article
挂机的阿洋zzZ
·
2020-07-13 10:08
Mybatis
源代码
MyBatis源码
分析之——执行SQL语句的过程
Useruser=userMapper.getUserById(1)调用invoke代理方法由于所有的Mapper都是MapperProxy代理对象,所以任意的方法都是执行MapperProxy的invoke()方法。publicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable{try{//判断是否需要去执行SQL
冰 河
·
2020-07-13 06:25
MyBatis
spring-整合
mybatis源码
注解的方式--简单解析
现在主流的spring整合mybatis用注解@MapperScan("com.cat.mapper")这个注解里包含了注解@Import(MapperScannerRegistrar.class)在spring源码那篇讲到.扫描到注解@import的时候.会处理里面的class这里的MapperScannerRegistrarimplementsImportBeanDefinitionRegis
吃小吃
·
2020-07-13 03:54
spring源码
spring
mybatis
源码
【
Mybatis源码
剖析】Spring中获取 Mybatis Mapper接口(注解Autowired),并调用过程剖析
程序中获取Mapper接口实例的调用过程//注解Autowired时,通过getObject()获取对应接口实例Torg.mybatis.spring.mapper.MapperFactoryBean.getObject()throwsException//SqlSessionTemplate=newSqlSessionTemplate(sqlSessionFactory)Torg.mybatis
ipple1986
·
2020-07-13 02:36
JAVA
Mybatis源码
学习:一级缓存和二级缓存分析
文章目录零、一级缓存和二级缓存的流程一级缓存总结二级缓存总结一、缓存接口Cache及其实现类二、cache标签解析源码三、CacheKey缓存项的key四、二级缓存TransactionCache五、二级缓存测试六、一级缓存源码解析七、测试一级缓存零、一级缓存和二级缓存的流程以这里的查询语句为例。一级缓存总结以下两种情况会直接在一级缓存中查找数据主配置文件或映射文件没有配置二级缓存开启。二级缓存中
天乔巴夏丶
·
2020-07-13 01:35
Mybatis
“两学一做”讲道德,有品行
专题学习
开展“两学一做”学习教育,关键是要做一名合格党员,就是要着眼于新形势下对党员的新要求,坚持以知促行,知行合一,做“四讲四有”的合格党员。其中,“讲道德,有品行”是做合格党员的重要标准之一。讲道德、有品行,首先是做人要实。一要做老实人。就是要忠实地面对党、面对组织、面对群众、面对同志。二要说老实话。就是成绩不夸大,缺点不缩小,错误不隐瞒,坚持真理、尊重事实,切实做到言行一致、知行合一。三要干老实事。
一片芦苇地
·
2020-07-12 22:05
MyBatis源码
分析(一)——一级缓存和二级缓存
前言看过无数资料,背过无数面试题,我们都知道了mybatis的一级缓存是sqlSession,二级缓存是namespace,但是mybatis对于缓存到底是怎么实现的,怎么处理的呢,我想不少人其实都是一头雾水。今天,就让我们一起来看看,这背后的原理。一、核心类图二、代码实现:第一步:第二步:看看执行器获取逻辑第三步:分析执行器simpleExcutorSimpleExcutor的query方法来自
蜗牛2号
·
2020-07-12 22:21
java源码分析
mybatis源码
学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类
相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的时候也会有这种疑问,当时在网上查了很多资料,也问过公司比较年长的同事,但是并没有得到答案,后来通过自己看mybatis的源码的方式才明白其中道理,接下来我就对大家分享,为什么dao接口不需要实现类的原
mingtian625
·
2020-07-12 22:19
mybatis
spring
jdk
MyBatis源码
系列--5.MyBatis 插件原理与自定义插件
MyBatis通过提供插件机制,让我们可以根据自己的需要去增强MyBatis的功能需要注意的是,如果没有完全理解MyBatis的运行原理和插件的工作方式,最好不要使用插件,因为它会改变系底层的工作逻辑,给系统带来很大的影响。MyBatis的插件可以在不修改原来的代码的情况下,通过拦截的方式,改变四大核心对象的行为(在上一篇已经知晓),比如处理参数,处理SQL,处理结果它内部用到两个设计模式代理模式
威少JAVA
·
2020-07-12 20:27
深入浅出
Mybatis源码
解析——BoundSql获取流程
前言停更了一个多月,博主一直在忙于技术的学习与工作的繁忙之间,其实更多的是迷茫于技术中,但是想想还是要把Mybatis系列继续更新下去。博主也给自己在20年立了几个flag:深入学习Java、研究研究c++、第三个就是健身咯,只要是因为回首2019年,感觉自己在技术学习的道路上是在没走多少,因此想着这次必须要对自己狠一点了。先不多说了,回顾一下前一篇文章,由于时隔太久,笔者都有点记不清了。在前一篇
不才人pat
·
2020-07-12 19:59
Mybatis源码解析
Mybatis-spring源码分析之注册Mapper Bean
「
Mybatis源码
分析之Mapper注册与绑定」讲到了Mapper如何注册到Configuration类中与MapperProxyFactory绑定的过程,我们平时的使用场景一般都配合着Spring,
后端进阶
·
2020-07-12 19:25
Mybatis源码
系列0-从JDBC到Mybatis
享学源码,一起行动。文章目录缘起JDBC如何使用痛点分析轮子Mybatis(脱离Spring)使用初级阶段:DefaultSqlSession(脱离Spring)使用中级阶段:Mapper(脱离Spring)使用高级阶段:SqlsessionManagerSpring-JDBC总结缘起JDBC如何使用说Mybatis之前得先讲讲JDBCpublicclassJDBCTest{publicstati
享学源码
·
2020-07-12 16:52
mybatis
MyBatis源码
解析(三)——Transaction事务模块
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6634151.html1、回顾之前介绍了Environment环境类,这其实是一个单例类,在MyBatis运行开启后只会存在一个唯一的环境实例,虽然我们可以在Configuration配置文件中配置多个环境,但是项目运行中只会存在其中的一个,一般项目会存在开发环境和测试环境、生产环境三大环境
weixin_30468137
·
2020-07-12 06:48
spring整合mybatis之一级缓存失效问题解析
前言在上一次整合完spring和mybatis之后,我们已经了解了mybatis整合spring的底层原理和执行流程,尤其是知道了mapperScan的扫描原理,接下来就要开始使用mybatis,在之前我阅读
mybatis
wangjimmy1994
·
2020-07-12 05:29
spring
mybatis
浅谈mybatis如何半自动化解耦
通过研究
mybatis源码
,可将mybatis的大致架构总结为下图:1.根据
Mybatis源码
,将其抽象为三层:基础支持层,核心处理层和接口层2.基础支持层包括:数据源、事务管理、日志、类型转换、缓存、
Alan_beijing
·
2020-07-12 01:57
JavaScript
Mybatis源码
之--XML完整解析流程
Mybatis源码
之–XML完整解析流程如何编译源码仓库地址1、idea中打开项目2、等待解析依赖备注:解析依赖的过程中有可能某些jar包的版本找不到,可自行在https://mvnrepository.com
吃不胖的茶叶蛋
·
2020-07-12 01:55
Java
【mybatis】完全解读mybatis JDBC事务
前言本文debug
mybatis源码
版本:3.2.7mybatis提供了JDBC和MANAGED两种事务管理,本文主要讨论的是JDBC事务管理方式。
扶我起来我还要写代码
·
2020-07-11 21:28
持久层
Mybatis源码
学习(一)复习JDBC
文章目录一、JDBC概念二、JDBC架构三、JDBC连接步骤四、完整实例添加数据删除数据修改数据查找数据五、JDBCUtil创建一个db.properties文件JDBCUtil六、JDBC的SQL注入问题七、SQL注入问题解决方案一、JDBC概念JDBC(JavaDatabaseConnectivity)Java数据库连接,是Java语言中规范客户端程序来访问数据库的应用程序接口,提供了更新数据
CodeRemote
·
2020-07-11 21:54
MyBatis
sharding-jdbc+mybatis 原理
mybatis2).项目中使用sharding-jdbcmybatis+sharding-jdbc结合的入口1)首先声明sharding-jdbc绝对没有破坏mybatis的工作,相反是和其相辅相成的,阅读过
mybatis
xuxiake的博客
·
2020-07-11 16:38
java
Mybatis源码
与设计模式浅析
工厂方法模式简而言之,就是定义一个产品接口,定义一个工厂接口(包含生产产品的方法),每一个产品接口实现类都对应一个工厂接口的实现类去构造对应的产品实现类。例如,Mybatis中的SqlSession接口和SqlSessionFactory接口,类图如下,这里的SqlSessionManager先暂时忽略。图中的DefaultSqlSessionFactory就是生产DefaultSqlSessio
phubing
·
2020-07-11 16:06
Java源码
mybatis 源码学习之getMapper过程分析
mybatis源码
学习之getMapper过程分析一、简介这篇文章分析mybatis3.2.8中getMapper的过程,分为两个部分,一是剖析mybatis初始化的过程(这里采用加载xml配置文件的方式
超人也害羞
·
2020-07-11 15:51
mybatis
Mybatis源码
浅析(一)关于Mybatis的背景了解
之前,结合教程以及书籍学习过mybatis,但是没有较为完整的整理一下mybatis的学习心得以及重要的技能点,所以写一个系列性的文章来重新认识学习mybatis,加深自己的印象,首先了解一下Mybatis的简介:持久层框架的出现和传统的JDBC编程是分不开的,Java程序都是通过JDBC连接数据库的,再者深入一点,其出现和Java的ORM的发展史息息相关。通过传统的JDBC的方式可以通过sql语
匍匐-菜鸟
·
2020-07-11 15:18
Mybatis
Mybatis源码
分析之缓存
一、MyBatis缓存介绍正如大多数持久层框架一样,MyBatis同样提供了一级缓存和二级缓存的支持一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Sessionflush或close之后,该Session中的所有Cache就将清空。2.二级缓存与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用
归田
·
2020-07-11 15:35
myBatis入门及源码学习
Mybatis入门及源码学习
【
Mybatis源码
解析第一章】先说说JDBC
缘起由于mybatis内部实际上是调用的jdbc来完成了对数据库的操作,兵马未动,粮草先行。在讲解mybatis之前有必要先说说jdbc。建表我们先在数据库建一张Test表,表只有两个字段,id和name,有一条数据张三。DDL如下--auto-generateddefinitioncreatetabletest(idvarchar(50)notnullprimarykey,namevarchar
诺浅
·
2020-07-11 15:08
Mybatis
jdbc的使用
jdbc入门
Mybatis源码
分析之(三)mapper接口底层原理(为什么不用写方法体就能访问到数据库)
mybatis是怎么拿sqlSessionMapper的实现原理总结mybatis是怎么拿sqlSession在上一篇的时候,我们的SqlSessionFactoryBuilder已经从xml文件中解析出了Configuration并且返回了sessionFactory。然后我们要从sessionFactory.openSession();中拿到sqlSessionpublicclassDefau
晓_晨
·
2020-07-11 13:08
mybatis
05
Mybatis源码
篇---XML配置之mappers 映射器
这里我简单的讲述一下,在创建SqlSessionFactory对象的时候,是如何解析XML配置文件,并完成加载。首先从解析MyBatis配置文件configuration节点及子节点时,调用mapperElement来解析mappers。/***解析Mappers节点及一下节点*/mapperElement(root.evalNode("mappers"));/***解析XML配置文件mapper
mmd0308
·
2020-07-11 13:50
Mybatis
MyBatis源码
(六)之动态Sql解析运行阶段BoundSql
上篇博文讲述的是dao方法参数是如何传递到Executor的
MyBatis源码
(五)之动态Sql解析运行阶段参数处理一定要有这个基础,在进行本博文你将看到一条Sql是如何拼装出来的。
yaMa_码子
·
2020-07-11 13:00
技术博客
mybatis
Mybatis源码
研究之SqlSource
Mybatis中少有的有注释的接口1.SqlSource接口/***RepresentsthecontentofamappedstatementreadfromanXMLfileoranannotation.*ItcreatestheSQLthatwillbepassedtothedatabaseoutoftheinputparameterreceivedfromtheuser.**@author
夫礼者
·
2020-07-11 11:55
MyBatis3
mybatis
源码
Mybatis源码
研究之ErrorContext
Mybatis可以说是本人由.NET转Java后读的第一份源代码。而且因为所供职的公司属于传统的小型企业,所以相比较于Spring,接触到Mybatis的问题更多,这也导致对于MyBatis的研究投入更多的精力。1.概述诚如标题,今天的关注重心是ErrorContext,其实对于这个类,笔者在一开始的时候感觉非常好奇——这玩意是干啥的?而随着慢慢对Java理解的深入,尤其是在看了大众点评开源的CA
夫礼者
·
2020-07-11 11:55
MyBatis3
Mybatis
ErrorContext
Mybatis源码
研究之DynamicContext
DynamicContext为POJO对象Map化提供了很好的借鉴,抹平了访问POJO和Map对象的差异.1.由来在Mybatis提供的动态SQL功能中,作为底层支撑的关键类SqlNode接口.其签名如下:packageorg.apache.ibatis.scripting.xmltags;publicinterfaceSqlNode{booleanapply(DynamicContextcont
夫礼者
·
2020-07-11 11:55
MyBatis3
Mybatis技巧之LOB对象处理
1.概述正如之前文章
Mybatis源码
研究之TypeHandler里已经提及过的,Mybatis构建在对JDBC流程的深刻理解之上。涉及到数据库操作前的参数设置,
夫礼者
·
2020-07-11 11:55
MyBatis3
Mybatis源码
阅读1 --- 让Mybatis运行起来
下载完后我们需要的是src目录和pom.xml文件,准备完毕1:创建一个java工程:2:把
mybatis源码
的org文件(位置:src->main->java)复制到新建工程的main目录下,把
mybatis
lnlllnn
·
2020-07-11 11:22
mybatis
spring集成mybatis后一级缓存失效
mybatis源码
片段://解析sql对象BoundSqlboundSql=ms.getBoundSql(parameterObject);
_freedom
·
2020-07-11 11:16
mybatis
mybatis源码
阅读之8:获取sqlSessionFactory对象
上一篇
mybatis源码
执行流程下一篇批量插入数据在
mybatis源码
阅读之7:
mybatis源码
执行流程一文中总结了获取sqlSessionFactory对象的步骤:创建SqlSessionFactoryBuilderbuild
一只大马猴
·
2020-07-11 10:11
mybatis
史上最牛的
Mybatis源码
研究分析最透彻的文章并且没有之一
一、Whatismybatis?MyBatisisafirstclasspersistenceframeworkwithsupportforcustomSQL,storedproceduresandadvancedmappings.MyBatiseliminatesalmostalloftheJDBCcodeandmanualsettingofparametersandretrievalofres
SpringBoot_
·
2020-07-10 23:33
Mybatis
后端技术
Java
MyBatis源码
分析:SqlSessionFactory
MyBatis源码
分析:SqlSessionFactory1.SqlSessionFactory1.1DefaultSqlSessionFactory1.2SqlSessionManager1.SqlSessionFactory
壮小牛
·
2020-07-10 23:53
Mybatis
SpringBoot
专题学习
Part18:SpringBoot配置服务器参数和Web三大组件(Servlet、Filter、Listener)
简述通常的web应用需要打成war包然后配置好Tomcat容器而SpringBoot启动的时候外部无须Tomcat容器因为SpringBoot使用的是自带的嵌入式的Tomcat在启动器spring-boot-starter-web的内部自带了spring-boot-starter-tomcat即嵌入式Tomcat配置服务器参数若是外部的Tomcat想进行相应的配置须进入conf目录然后在配置文件中
Piconjo_Official
·
2020-07-10 23:58
框架
tomcat
servlet
spring
web.xml
spring
boot
Mybatis源码
--XML配置文件解析(未完待续)
1概述前面的文章我们针对Mybatis的初始化的整个过程做了一个分析,我们知道Mybatis的初始化其实就是将配置文件的配置信息最终转换成Configuration对象的一个过程,现在我们就来看一看这个过程到底做了些什么。2Configuration类详解我们知道XML配置文件最终都会解析成Configuration配置类,那么这里我们就来看看Configuraion这个类中到底包含什么东西。(针
ONROAD0612
·
2020-07-10 23:22
MyBatis
Mybatis源码分析
MyBatis源码
分析(一):从JDBC到MyBatis 介绍MyBatis的背景,为什么要用MyBatis
一、介绍JDBCJDBC全称JavaDatabaseConnectivity,是Java语言规范客户端访问数据库的应用程序接口,所面向的数据库类型为关系型数据库。JDBC的三层架构图:JDBC的API提供了以下接口和类:DriverManager:这个类管理一系列数据库驱动程序。匹配连接使用通信子协议从JAVA应用程序中请求合适的数据库驱动程序。识别JDBC下某个子协议的第一驱动程序将被用于建立数
weixin_30640291
·
2020-07-10 19:43
Mybatis源码
分析(6)—— 从JDBC看Mybatis的设计
Java数据库连接,(JavaDatabaseConnectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。六步流程:加载驱动(5.x驱动包不需要这步了)建立连接创建Statement执行SQL语句获取结果集关闭资源这里只取后面几步分析下,基本上都是从Executor开始。DefaultSqlSession被每个M
Lucare
·
2020-07-10 18:30
源码分析
Mybatis源码分析
JDBC
Mybatis
ResultSet
Mybatis源码
研究之BoundSql
Mybatis里难得有注释的类BoundSql,而且此注释出现在3.3.1+版本,在3.2.2时都还没有.1.概述BoundSql更像一个中转站,Mybatis在执行一次CRUD操作过程中产生的中间数据的集中点.这一点观察其内部的字段就可以了解.内部基本没做什么处理,只是将相应的操作调度给了内部的字段.2.注释/***AnactualSQLStringgotforman{@linkSqlSourc
夫礼者
·
2020-07-10 17:56
MyBatis3
Mybatis源码
之温故jdbc
我们回顾下之前没有使用Mybatis,使用原生态jdbc的场景publicIntegerinsert(Useruser){Connectionconn=null;PreparedStatementpreparedStatement=null;StringinsertSql="INSERTINTOUSER(name,age,sex,birth_day)VALUES(?,?,?,?)";try{con
yaMa_码子
·
2020-07-10 15:14
技术博客
mybatis
Mybatis中的Dao接口和XML文件里的SQL是如何建立关系的?
如果你看过笔者关于
Mybatis源码
分析的往期博文,相信你肯定可以给出一个不错的答案。但鉴于系列文章篇幅较大,而且重点是源码部分的解读,所以笔者想再针对
JuCoding
·
2020-07-10 10:44
Mybatis源码
分析之参数处理
Mybatis对参数的处理是值得推敲的,不然在使用的过程中对发生的一系列错误直接懵逼了。以前遇到参数绑定相关的错误我就是直接给加@param注解,也稀里糊涂地解决了,但是后来遇到了一些问题推翻了我的假设:单个参数不需要使用@param。由此产生了一个疑问,Mybatis到底是怎么处理参数的?几种常见的情景:单个参数不使用注解,基于${}和#{}的引用,基本类型和自定义对象都可以不使用注解,基于fo
weixin_34146805
·
2020-07-10 08:11
Mybatis中注解@MapKey的使用
在研究
Mybatis源码
之前并不知道这个注解的妙用的,但是当我看到参数解析的时候有这个一个注解,所以我了解了一下,当我们返回像Map>这种类型的时候,我们往往很难做到,因为这里面可能是多个表的数据,所以我们不可能再建一个模型
weixin_33849942
·
2020-07-10 07:40
JDK动态代理一定要有代理对象吗?请结合Mybatis回答
动态代理有一段时间没有写文章了,主要是回想起这两年多的时间,多多少少,每个知识点差不多都有写到了,一时也想不起什么新鲜的知识分享给大家.今天写动态代理,主要是在看
Mybatis源码
时,发现真的是把动态代理用的是太
微笑的小小刀
·
2020-07-10 06:20
mybatis3.4.6 源码分析笔记
最后对于框架中不理解的地方提出的疑问资源:本章节的用到的测试代码,mybatis的功能测试及手写mybatis的代码https://github.com/shenwuwu/mybatis-mybatisTest
mybatis
神武舞
·
2020-07-10 05:50
mybatis
源码分析
Mybatis源码
解析-mapper解析
为什么写在xml文件中的sql,却可以执行,中间经过了怎样的流程?今天我们就来看一下这个过程。所有的开始源于一个Bean的定义@Value(value="classpath:mybatis/sqlmap/*.xml")privateResource[]mapperLocations;@Value(value="classpath:mybatis/mybatis-config.xml")privat
数齐
·
2020-07-10 04:15
MyBatis源码
分析之@SelectProvider注解使用详解
MyBatis源码
分析之@SelectProvider注解使用详解之前讲了MyBatis的配置、plugin、Select查询,还有@MapKey注解的使用与原理,还有返回@ResultMap等等,我原想直接从
叶长风
·
2020-07-10 04:10
java
mybatis
Mybatis源码分析
java技术与应用
MyBatis源码
分析之@ResultMap注解详解
MyBatis源码
分析之@ResultMap注解详解在前一篇文章讲**@MapKey注解时,我原想将@ResultMap注解也一起拿出来说一下,但是发现@ResultMap解析加载源码非常多,想想就不在一篇文章中讲了
叶长风
·
2020-07-10 04:10
java
mybatis
Mybatis源码分析
java技术与应用
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
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
其他