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源码
分析之SqlSessionFactory,SqlSession和连接池
简单介绍下mybatis获取SqlSession和进行sql操作的例子InputStreaminputStream=Resources.getResourceAsStream(resource);SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);SqlSessionsqlSessi
蒙娜丽莎微笑
·
2023-04-03 10:53
mybatis
mybatis
SqlSession
连接池
Mybatis 基础介绍与逆向工程的构建
2.jpgMybatis基础介绍与逆向工程的构建Mybatis系列:Mybatis基础介绍与逆向工程的构建:https://www.jianshu.com/p/1c18db4d7a38
Mybatis源码
分析
挂机的啊洋zzZ
·
2023-04-02 22:27
探索Mybatis中Mapper默认返回值
文章目录背景源码分析背景最近写业务代码时会遇到如下查询,若StudentMapper中的listByName方法返回null而非空的list,则在该业务代码的第二行就会容易抛出NPE,为了消除代码的副作用,需要结合
Mybatis
bboyzqh
·
2023-04-02 12:12
Mybatis源码
分析
Mybatis源码
面试题我们想要研究Mybatis,需要搞懂两大类对象,一类是存储类对象,一类是操作类对象类比与我们进行DAO层的开发时,我们先有数据(类比我们的存储类对象),然后使用ConnectionStatement
shstart7
·
2023-04-02 11:15
JavaSE
Mybatis
MySQL
mybatis
Mybatis源码解析
ORM框架
MySQL
JDBC
Mybatis工作原理分析
本文主要讲述Mybatis的工作原理,以及结合一次select查询的实例,查看
myBatis源码
,探究其实现。
飞起来_大石
·
2023-04-02 11:13
学习随笔
java
Mybaits
Mybatis工作原理
MyBatis源码
分析之SqlSession
SqlSession接口以及门面模式SqlSession是一个接口类型,它的接口方法包含了如下几个方面的功能增删改查的操作selectOne,selectList,delete,update,insert等操作事务的管理操作commitrollbackflushstatementsclose获取当前的Connection对象getConnection获取XNL解析出的配置信息getConfigur
算法菜鸟飞高高
·
2023-04-02 11:13
mybatis源码学习
mybatis
java
开发语言
Mybatis源码
分析系列之第四篇:Mybatis中代理设计模型源码详解
一:前言我们尝试在前几篇文章的内容中串联起来,防止各位不知所云。1:背景我们基于Mybatis作为后台Orm框架进行编码的时候,有两种方式。//编码方式1UserDaouserDao=sqlSession.getMapper(UserDao.class);userDao.queryAllUser(Mapmap);//有同学质疑为毛我从来没有sqlSesseion.getMapper(..)是因为我
岁岁种桃花儿
·
2023-04-01 18:56
MyBatis专栏
mybatis
java
jvm
干翻
Mybatis源码
系列之第五篇:Mybatis中核心运行机制超级详细版
一:引言1:本文目的熟悉花哥的都知道,花哥是该粗的地方粗该细的地方细,写文章的话咱追求的还是细致和全面,所以本文意在将Mybatis从SqlSessionFactory被创建出来到Dao被执行成功,我们会将绝大部分的细节写的到位,这是我们本专栏也是本篇文章的目的。2:首要知识回顾1:在我们使用原生Mybatis的时候,我们获取UserDao的实现类对象,还得向下面这么写。基于Spring整合Myb
岁岁种桃花儿
·
2023-04-01 18:56
MyBatis专栏
mybatis
java
开发语言
mybatis源码
分析-概述
1.
MyBatis源码
导入step1.下载mybatis-3step2.作为maven工程导入step3.将源码的pom.xml中的true改为falsestep4.安装mybatis-parent和mybatis
tongyiyi
·
2023-04-01 17:27
Java专栏
mybatis
源码解析
Mybatis源码
分析
1、mybatis原始工作代码publicstaticvoidmain(String[]args)throwsIOException{//1、读取配置文件InputStreamis=Resources.getResourceAsStream("SqlMapConfig.xml");//2、创建SqlSessionFactory工厂SqlSessionFactoryBuilderbuilder=ne
放下梧菲
·
2023-03-31 19:12
从
Mybatis源码
到Spring动态数据源底层原理分析系列一、Mybatis初始化源码浅析
privateEnvironmentenvironment;privateMapmappedStatements;}classEnvironment{privateTransactionFactorytransactionFactory;privateDataSourcedataSource;}复制代码非常清晰的映射关系,一个环境里面包含了数据源以及事务工厂,如果不是很理解事务工厂的用处,可以先不
m0_70109670
·
2023-03-31 11:48
Java
经验分享
架构
java
JDK动态代理一定要有代理对象吗?请结合Mybatis回答
动态代理有一段时间没有写文章了,主要是回想起这两年多的时间,多多少少,每个知识点差不多都有写到了,一时也想不起什么新鲜的知识分享给大家.今天写动态代理,主要是在看
Mybatis源码
时,发现真得是把动态代理用的是太
微笑的小小刀
·
2023-03-30 10:26
【
Mybatis源码
分析】TypeAliasRegistry源码分析
TypeAliasRegistry源码分析一、引入类型别名二、typeAlias的三种配置方式三、TypeAliasRegistry源码分析三种配置方式源码解析校验过程Mybatis默认的别名配置四、总结一、引入类型别名当配置XML文件,需要指明Java类型时,类型别名可替代Java类型的全名,一般会设置一个简单缩写的类型别名去替代它,用于XML配置,以降低冗余的全限定类名书写。(说白了其作用就是
假正经的小柴
·
2023-03-30 07:45
Java源码分析
mybatis
java
开发语言
mybatis源码
之执行查询SQL代码分析
本文将通过阅读
mybatis源码
的方式详细分析mybatis查询的执行流程。
xuguofeng2016
·
2023-03-30 04:20
mybatis
java技术
java
mybatis
orm
mybatis源码
分析—sql动态解析
一、相关类DynamicContext:动态上下文,持有方法的参数对象,以及解析替换后的sqlXMLScriptBuilder:从XNode中解析并构建SqlNode,构建过程中会通过TextSqlNode#isDynamic()检查原始sql中是否含有${}判断是否为动态sql,有则是XNode:其中的字符类型的body保存解析后的sql,用于构造SqlNodeSqlNode:sql节点,接口中
冰冻咖啡2020
·
2023-03-30 04:49
Mybatis
sql
数据库
mysql
Mybatis源码
分析(四)Mapper文件的解析
目录一Mapper的使用二MapperElement的解析三解析cache-ref节点四解析Cache节点五解析ParameterMap节点六解析ResultMap节点七解析Sql节点八处理各个数据库操作语句系列文章:文章状态时间描述(一)Mybatis基本使用已复习2022-12-14对Mybtais的基本使用,能够开发(二)Mybatis-config.xml的初始化已复习2023-02-10
长安不及十里
·
2023-03-30 03:05
#
Mybatis源码分析
mybatis
java
mysql
源码分析
学习
SpringBoot整合
Mybatis源码
解析
目录一、示例代码1.核心依赖2.配置(application.yml)3.核心代码二、源码分析SpringBoot整合Mybatis的过程1.SpringBoot集成Mybatis2.创建MapperScannerConfigurer的bean定义及扫描mapper接口3.实例化SqlSessionFactory、SqlSessionTemplate及mapper三个bean3.1.实例化SqlS
哼哼爸比
·
2023-03-30 03:24
java
spring
mybatis
spring
boot
spring
Mybatis源码解析
mapper接口代理实现
SqlSession
mybatis源码
分析(五):SqlSource&SqlSourceBuilder
SqlSource首先看下SqlSource整体的解析过程,最后产生的可以直接传给sql执行的sql以及ParameterMapping就包含在BoundSql中首先看下接口定义/***RepresentsthecontentofamappedstatementreadfromanXMLfileoranannotation.*ItcreatestheSQLthatwillbepassedtothe
lxlneversettle
·
2023-03-30 03:17
mybatis
java
mybatis
MyBatis源码
分析(二、续)SqlSource创建流程,SQL如何解析?如何将#{id}变成?的
文章目录实例一、SqlSource处理入口二、SqlSource处理逻辑1、XMLScriptBuilder构造方法2、解析动态sql3、DynamicSqlSource4、RawSqlSource解析sql(1)parse方法解析sql写在后面实例此处我们分析的sql:select*fromblogwhereid=#{id}一、SqlSource处理入口在处理配置文件时,会处理Mapper.xm
秃了也弱了。
·
2023-03-30 02:11
#
spring
boot
cloud
mybatis
sql
java
MyBatis源码
阅读(二)----MyBatis 的初始化和数据库操作过程
概述前面我们已经熟悉了MyBatis,为了更清晰得追踪MyBatis执行过程,我们把项目简洁化,方便聚焦MyBatis核心代码。另外在阅读源码前,应该已经熟悉官网的文档:《MyBatis文档》https://mybatis.org/mybatis-3/zh/getting-started.html一、在SpringBoot中运行MyBatispom.xml文件中的依赖,简化后如下:org.spri
singleZhang2010
·
2023-03-29 07:34
两万字
Mybatis源码
剖析
文章目录
MyBatis源码
剖析1MyBatis框架概述2JDBC缺陷总结3MyBatis快速入门3.1搭建Mybatis开发环境2.2.1创建Maven工程2.2.2导入依赖2.2.3创建UserMapper
黑马程序员官方
·
2023-03-28 19:01
Java
java
数据库
maven
mybatis
源码
Mybatis源码
解析(七):查询数据库主流程
Mybatis源码
系列文章手写源码(了解源码整体流程及重要组件)
Mybatis源码
解析(一):环境搭建
Mybatis源码
解析(二):全局配置文件的解析
Mybatis源码
解析(三):映射配置文件的解析
Mybatis
冬天vs不冷
·
2023-03-28 16:44
mybatis
mybatis
java
数据库
Mybatis源码
解析:SQL解析流程
SQL解析上一节我们提到在解析的过程中一个比较重要的点是,对每个sql进行解析并封装为SqlSource对象sql定义的方式有很多种,比如用xml,@Select,@SelectProvider等来描述要执行的sql,针对不同的定义方式,mybatis定义了不同的SqlSource实现类SqlSource接口只有一个方法,传入sql执行的参数,获取BoundSql这个BoundSql我们在参数处理
Java识堂
·
2023-03-27 14:29
MyBatis
sql
数据库
database
Mybatis源码
之美:3.5.6.resultMap元素的解析过程(一)
解析resultMap元素的过程我来了在前面几篇文章中,我们详细的了解了resultMap元素的属性和子元素定义,过程比较复杂,但总算还是有些收获.
Mybatis源码
之美:3.5.1.解析result元素
吃竹子的程序熊
·
2023-03-27 09:35
mybatis源码
阅读笔记一reflection包
首先看下整个包的结构:reflection一、factory包factory包中有一个接口ObjectFactory和这个接口的唯一实现类DefaultObjectFactory,从名字上看起来像是一个工厂?factory包ObjectFactoryObjectFactory接口中有4个方法:setProperties():用于配置configuration的属性create():使用默认构造函数
noexceptionsir
·
2023-03-27 04:00
2018-11-17 Resources类
mybatis源码
阅读的第一个类,还是比较简单的,算是一个好的开始packageorg.apache.ibatis.io;importjava.io.
冻死的毛毛虫
·
2023-03-23 06:04
二十一、SpringBoot整合
Mybatis源码
分析
在上章节中讲述了SpringBoot整合Mybatis的过程,以及一些配置说明,这节主要讲解一下整合的源码。废话不多说,直接进入今天的主题。阅读过我之前写的文章的童靴,肯定知道SpringBoot整合第三方技术的时候,都会有一个xxxAutoConfiguration的自动配置类,咱们来一起找找看。其实在项目整合Mybatis的时候,需要依赖mybatis-spring-boot-starter包
木石前盟Caychen
·
2023-03-22 07:07
mybatis中@Column注解定义别名不生效问题
深入
mybatis源码
org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createAutomaticMappings()方法中发现
山间明月江上清风
·
2023-03-19 03:17
Mybatis源码
之美:3.5.2.负责一对一映射的association元素和负责一对多映射的collection元素
负责一对一映射的association元素和负责一对多映射的collection元素集合啦负责一对一映射的association元素association元素的简单应用在大多数业务场景下,我们的PO都是一个简单的javaBean定义,他的属性定义基本都是简单属性定义。但是有些时候,我们可能会需要定义一个较为复杂的PO,这个PO中的某些属性可能会是另一个PO定义。association元素就被应用在
吃竹子的程序熊
·
2023-03-17 06:34
Mybatis源码
(缓存篇)
前言大家好,这一篇文章是MyBatis系列的最后一篇文章,前面两篇文章:
Mybatis源码
解析(构造篇)和
Mybatis源码
(执行篇),主要说明了MyBatis是如何将我们的xml配置文件构建为其内部的
java风清扬
·
2023-03-14 20:07
Mybatis源码
剖析 -- 二级缓存
一、思考一个问题假设Mybatis一级缓存和二级缓存同时开启,那么到底是生效一级缓存还是二级缓存呢?答案:二级缓存是构建在⼀级缓存之上的,在收到查询请求时,MyBatis首先会查询二级缓存,若二级缓存未能命中,再去查询⼀级缓存,⼀级缓存没有,再查询数据库。所以实际上是这样的:二级缓存->一级缓存->数据库与一级缓存不同,二级缓存和具体的命名空间(namespace)绑定,⼀个Mapper中有⼀个C
Travis_Wu
·
2023-03-13 23:45
Mybatis源码
-日志模块(2)
image.png 在logging模块中有一个包jdbc,这个包虽然和其他包并列,但并不是一种简单的Log代理实现。而是在mybatis操作jdbc的时候,用记录相关SQL的复杂组件。我们最常用的打印sql日志的功能就是由这个模块实现的。 所有StatementLogger,ConnectionLogger,ResultSetLogger,PreparedStatementLoggerr除了
lazyguy
·
2023-03-13 15:18
MyBatis原理系列(四)-手把手带你了解MyBatis的Executor执行器
MyBatis原理系列(一)-手把手带你阅读
MyBatis源码
MyBatis原理系列(二)-手把手带你了解MyBatis的启动流程MyBatis原理系列(三)-手把手带你了解SqlSession,SqlSessionFactory
Renaissance_
·
2023-03-10 20:16
国内最顶级的
MyBatis源码
分析,不看别后悔哦
烛光学院历时2年,披荆斩棘,一路走来,为了感谢大家的支持与口碑庆祝烛光学院2周年活动,特推出原价299的史上最强的的
MyBatis源码
分析,该课程获得荣获2018年度到2019年度腾讯课堂课程质量优异奖
零点145
·
2023-03-10 08:04
Mybatis源码
分析系列之第三篇:Mybatis的操作类型对象
前言知识汇总上篇文章中我们已经详细介绍了Mybatis的存储类对象。我们上篇提到了:Mapper.xml当中的SQL标签都被解析成了一个一个的MappedStatement对象。那么我们当中的SQL是基于什么形式进行封装的呢?我们要知道,Java当中一切皆对象。MappedStatement当中SQL被封装成了MappedStateMent当中的SqlSource对象。我们通过sqlSource.
岁岁种桃花儿
·
2023-03-09 10:25
MyBatis专栏
mybatis
数据库
java
Mybatis源码
分析——一级缓存和二级缓存分析
前言像Mybatis、Hibernate这样的ORM框架,封装了JDBC的大部分操作,极大的简化了我们对数据库的操作。在实际项目中,我们发现在一个事务中查询同样的语句两次的时候,第二次没有进行数据库查询,直接返回了结果,实际这种情况我们就可以称为缓存。Mybatis的缓存级别一级缓存MyBatis的一级查询缓存(也叫作本地缓存)是基于org.apache.ibatis.cache.impl.Per
小波同学
·
2023-03-01 16:41
Mybatis源码
:Mybatis一二级缓存源码分析
目录1.缓存的开启2.缓存的创建3.缓存执行逻辑1.缓存的开启缓存开启的设置可以在mybatis配置文件中进行设置,默认是开启的;解析配置文件的代码如下:该cacheEnabled缓存开启的总开关,当cacheEnabled为true时,默认开启了一级缓存;二级缓存的开启需要在mapper.xml中设置节点(也支持注解的方式),同时一级缓存是局部于SqlSession中的,SqlSession关闭
mumubili
·
2023-02-19 19:56
框架
cache
mybatis
java
后端
mybatis
缓存
Mybatis源码
解析(十):一级缓存和二级缓存
Mybatis源码
系列文章手写源码(了解源码整体流程及重要组件)
Mybatis源码
解析(一):环境搭建
Mybatis源码
解析(二):全局配置文件的解析
Mybatis源码
解析(三):映射配置文件的解析
Mybatis
冬天vs不冷
·
2023-02-19 19:25
mybatis
mybatis
缓存
java
Mybatis源码
解析【一二级缓存】
1、一级缓存:PerpetualCache.java,一个HashMap结构。属于SqlSession级别的缓存2、二级缓存:这个缓存的实现类就有点多了,有常见的lru,fifo等等缓存实现类,因为二级缓存是跟namespacce挂钩的。属于Mapper级别的缓存ExcutorSQL执行器是缓存挂钩的,如果配置二级缓存开启,还有mapper中指定,那么Excutor实例化的就是CacheExcut
骚包杨
·
2023-02-19 19:55
java
后端
mybatis
缓存
Mybatis源码
分析(7)之缓存原理源码分析
一、前言在Web应用中,缓存是必不可少的组件。通常我们都会用Redis或memcached等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力。作为一个重要的组件,MyBatis自然也在内部提供了相应的支持。通过在框架层面增加缓存功能,可减轻数据库的压力,同时又可以提升查询速度,可谓一举两得。MyBatis缓存结构由一级缓存和二级缓存构成,这两级缓存均是使用Cache接口的实现类。因此,在接下里
技术路上的苦行僧
·
2023-02-19 19:55
Mybatis源码解析
缓存
mybatis源码分析
mybatis缓存原理
Mybatis一二级缓存
mybatis
Mybatis源码
解析,一级缓存+二级缓存
介绍Mybatis可以说是当今使用度最广的ORM框架了,由其自由,灵活,配置少受到了国内所有研发人员的热爱,今天我们来聊聊Mybatis中的一级缓存和二级缓存。大致介绍,mybatis一级缓存是SqlSession级别的缓存,即缓存一个SqlSeesion;二级缓存是NameSpace级别的缓存,即缓存一个mapper文件中的sql语句,不同SqlSession访问同一个mapper文件的sql是
王9911
·
2023-02-19 19:54
JAVA
缓存
java
mybatis
【
Mybatis源码
解析】一级缓存和二级缓存源码解析
文章目录缓存使用缓存源码测试代码上一篇《【
Mybatis源码
解析】mapper实例化及执行流程源码分析》,主要讲解了Mybatis的基本原理一级执行的流程,这一章来讲一下Mybatis的两个缓存:一级缓存和二级缓存
步尔斯特
·
2023-02-19 19:53
mybatis
缓存
java
MyBatis源码
解析-搭建调试环境
MyBatis源码
解析-搭建调试环境1.相关工具MavenGitJDK1.8IntelliJIDEA2.源码拉取一般来说,我们直接从https://github.com/mybatis/mybatis-
janker0718
·
2023-02-18 19:58
mybatis MyBatis缓存实现类
本文为学习《
Mybatis源码
深度解析》后的总结。感谢江荣波的这本书。1.MyBatis的缓存基于JVM堆内存实现 了解一下MyBatis缓存的实现原理。
dylan丶QAQ
·
2023-02-18 14:04
2.8、
mybatis源码
分析之创建SqlSession流程
一、mybatis接口层在讲创建SqlSession之前,先来介绍下myabtis中的接口层APISqlSession相关类结构1、SqlSession是mybatis的核心接口之一,是myabtis接口层的主要组成部分,对外提供了mybatis常用的api。myabtis提供了两个SqlSesion接口的实现,常用的实现类是DefaultSqlSession。2、SqlSessionFactor
小manong
·
2023-02-18 10:25
怎么实现mybatis半自动化解耦!看看资深程序员怎么说
通过研究
mybatis源码
,可将mybatis的大致架构总结为下图:根据
Mybatis源码
,将其抽象为三层:基础支持层,核心处理层和接口层基础支持层包括:数据源、事务管理、日志、类型转换、缓存、Bind
JAVA伯乐
·
2023-02-17 04:07
Mybatis源码
-日志模块(1)
mybatislog模块 Mybatis的日志模块的作用是为了让mybatis在项目中被使用的时候,无论什么情况都能有一种日志实现让mybatis可以正常的打日志。所以mybatis不能用单一的实现方式去打印日志。不能像我们平常一样用slf4j的LogFactory.getLogger(XXXX)一样去用日志。因为它可能在没有Slf4j的项目里被使用。难道就不打日志了么? 那mybatis怎么
lazyguy
·
2023-02-01 02:11
Mybatis源码
学习(十):二级缓存
一、前文回顾在前一篇文章中学习了Mybatis的一级和二级缓存,了解了一级缓存针对的是单个SqlSession而二级缓存则可以在多个SqlSession中共享,所以我们通常也称其为全局缓存。今天我们继续学习Mybatis的二级缓存。二、思考publicstaticvoidmain(String[]args)throwsException{Stringresource="mybatis-config
你可以叫我仔哥呀
·
2023-01-31 17:14
Mybatis源码学习
mybatis
学习
java
MyBatis原理系列(九)-手把手带你了解MyBatis事务管理机制
MyBatis原理系列(一)-手把手带你阅读
MyBatis源码
MyBatis原理系列(二)-手把手带你了解MyBatis的启动流程MyBatis原理系列(三)-手把手带你了解SqlSession,SqlSessionFactory
Renaissance_
·
2023-01-31 09:45
Mybatis源码
之美:3.7.深入了解select元素
深入了解select元素mybatis提供了四种配置映射语句的元素,和C,R,U,D四种操作相对应,他们分别是insert,select,update,delete.其中配置查询语句的元素select是myabtis中最常用的元素之一,他负责从数据库中读取数据.本篇文章我们就来详细的了解一下select元素的定义和使用.通常来说,在使用mybatis的过程中,一个select元素通常会有一个与之对
吃竹子的程序熊
·
2023-01-28 12:41
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他