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源码分析
】09-ResultSetHandler
ResultSetHandler提供了处理不同Statement的方法,我们这里分析最常用的handleResultSets。调用此方法将一个Statement对象转换为一个List对象。publicListhandleResultSets(Statementstmt)throwsSQLException{ErrorContext.instance().activity("handlingresu
一直不懂
·
2020-08-04 18:39
Mybatis源码分析
Mybatis源码分析
(二):Mybatis源码环境搭建
我们读源码的过程中,为了证实一些猜想可能要修改某段代码,而且重构代码是提高代码能力的非常有效的手段。本篇文章来说一下如何搭建Mybatis源码环境。一、下载源码并复制到本地项目可以从官网去下载,如果是用idea可以打开任意一个Mybatis的.class,比如点击Resources.getResourceAsStream方法,右上角会有提示,点击downloadsources下载后,找到maven
高旭
·
2020-08-03 22:01
java
mybatis
源码分析
Mybatis源码分析
我们都知道MyBatis它是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,帮我们节省了许多时间与精力,今天我们主要来对Mybatis的底层源码进行分析,主要是以下4行代码。1.获取传入的XML文件的输入流首先调用Resources中的单个String参数的getResuorceAsStream(Stringresource)方法,传入mybatis-config.xml文件。然后
AgonyQwf
·
2020-08-03 10:26
面试题总结
java
程序人生
经验分享
Mybatis源码分析
别名实现机制。
在Mybatis中我们经常会用到将某个bean作为参数类型parameterType或者结果返回值类型ResultType,所以很多时候我们需要把完成的Bean的包名在mapper文件中select*fromuserwherec_id=#{id}Mybatis给我们提供了一种叫别名的机制,意思就是对某个具体的类设置别名,在mybatis的配置文件中配置如下:-->......这样之后mapper文
labty
·
2020-07-30 15:34
Mybatis
java
mybatis源码
Mybatis源码分析
——mapper.xml解析
本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo在源码分析过程中,会使用到一些额外的知识点,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为两个阶段,如下mybatis-config.xml解析mapper.xml文件解析本篇分析的是第二阶段。上一篇讲到解析mapper.xml是在XMLMapperBuilder
rice_88
·
2020-07-29 05:44
Mybatis
mybatis
mapper
MyBatis源码分析
:MyBatis概览
在具体分析源码之前,我们先对MyBatis的执行原理以及MyBatis的框架结构有一定的了解,以便能让我们站在一定的高度上看问题。一.MyBatis的执行原理1、加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个个MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其
zhaoliubao1
·
2020-07-29 03:56
MyBatis
Mybatis原理
MyBatis源码
mybatis源码分析
之配置文件解析
一、简介我们上一个篇文章已经配置好了,mybatis配置文件和测试类。我们先分析一下mybatis的是如何加载mybatis-config.xml文件的。Stringresource="mybatis-config.xml";InputStreaminputStream=Resources.getResourceAsStream(resource);这里是通过mybatis工具类Resources
易水墨龙吟
·
2020-07-29 01:33
mybatis源码分析
Jedis、线程池、
mybatis源码分析
Jedis连接实例、源码分析Jedis是Redis的java版本的客户端实现即为:服务端:RedisC语言客户端:Jedisjava语言1.搭建maven项目,引入依赖redis.clientsjedis3.0.1jarcompile2.启动redis服务:redis-server.exeredis.windows.conf3.编写测试类publicstaticvoidmain(String[]a
边城jie
·
2020-07-28 20:40
springboot
redis
【
Mybatis源码分析
14】mybatis连接池源码分析
什么是连接池存储连接的容器为什么要使用连接池由于每次执行sql语句都去创建connection和使用完销毁耗时,使用连接池来管理连接,提高连接的使用率(跟java线程池的概念类似)源码分析mybatis提供三种数据库连接池的选择配置文件的enviroment节点的datasource子标签1.type="POOLED",对应org.apache.ibatis.datasource.pooled.P
OneTask
·
2020-07-28 20:51
Mybatis
Mybatis源码阅读-配置文件及映射文件解析
Mybatis源码分析
:1.配置文件解析:1.1源码阅读入口:org.apache.ibatis.builder.xml.XMLConfigBuilder.parse();功能:解析全局配置文件,调用parse.evalNode
weixin_30532759
·
2020-07-28 16:54
小白mybatis源码看这一遍就够了(3)| Configuration及解析配置文件
mybatis源码分析
系列:mybatis源码看这一遍就够了(1)|前言mybatis源码看这一遍就够了(2)|getMappermybatis源码看这一遍就够了(3)|Configuration及解析配置文件
菜 头
·
2020-07-28 13:40
mybaits
小白mybatis源码看这一遍就够了(1)| 前言
mybatis源码分析
系列:mybatis源码看这一遍就够了(1)|前言mybatis源码看这一遍就够了(2)|getMappermybatis源码看这一遍就够了(3)|Configuration及解析配置文件
菜 头
·
2020-07-28 13:40
mybaits
MyBatis源码分析
——MyBatis核心组件和开启SqlSession
文章目录
MyBatis源码分析
MyBatis核心组件MyBatis示例代码开启SqlSessionSqlSessionFactoryBuilder.build()方法SqlSessionFactory.openSession
SK_Jaco
·
2020-07-28 07:39
MyBatis
数据库
Java
Mybatis源码分析
之(二)根据配置文件创建SqlSessionFactory(Configuration的创建过程)
SqlSessionFactoryBuilder().build创建SqlSessionFactory(粗略走一步流程)build是如何通过xml文件来生成Configuration的(比较详细的分析流程)小结SqlSessionFactoryBuilder().build创建SqlSessionFactory(粗略走一步流程)看完上篇文章后,你对mybatis应该有个大概的了解了,那么我们知道n
晓_晨
·
2020-07-28 04:39
mybatis
Mybatis源码分析
之Mapper文件解析
xxMapper.xml的解析主要由XMLMapperBuilder类完成,parse方法来完成解析:publicvoidparse(){if(!configuration.isResourceLoaded(resource)){configurationElement(parser.evalNode("/mapper"));configuration.addLoadedResource(reso
chengtaopai5214
·
2020-07-27 20:07
Mybatis源码分析
(六):执行sql
获取SqlSession后,下一步就是执行sql.Useruser=sqlSession.selectOne("last.soul.mapper.UserMapper.selectById",map);DefaultSqlSession的主要功能就是实现增删改查功能,以及它们的重载方法。就查询来说,最后都会调用select方法,然后改装成selectOne,selectMap等,代码如下:/***
高旭
·
2020-07-27 17:23
mysql
源码分析
mybatis源码分析
(一) 配置文件的解析过程
mybatis的源码有人已经做过一个中文的注释,代码github上有mybatis中文注释源码mybatis框架有两个非常重要的xml文件,一个是mybatis的config文件,一个就是mapper文件,mybatis会根据config的xml文件去生成一个Configuration类,在这个过程中也会根据配置的mapper文件生成MappedStatement,这篇博客探究的就是这样一个过程,
奋斗的菜鸡
·
2020-07-27 13:41
mybatis
MyBatis源码分析
之——配置解析创建SqlSessionFactory的过程
大家应该都知道Mybatis源码也是对Jbdc的再一次封装,不管怎么进行包装,还是会有获取链接、preparedStatement、封装参数、执行这些步骤的。配置解析过程Stringresource="mybatis-config.xml";//1.读取resources下面的mybatis-config.xml文件InputStreaminputStream=Resources.getResou
冰 河
·
2020-07-27 12:37
MyBatis
Mybatis源码分析
一(SqlsessionFactory及源码整体结构)
搞java的想提高自己的姿势水平,想拿高工资,对常用开源框架的深入了解是必不可少的,想深入了解源码分析更是必不可少的,今天我开始对mybatis的源码进行分析,并做点记录以备查验。开源框架研究,文档的获取建议去读官方的文档和例子,这样获得的知识成体系,成体系的知识被你掌握了,你就可以说你精通它了。好了,开始吧。上面说道要看官方的文档,那么就得找到官方网站什么的对吧?这里给几个网站都是不错的:Mya
北风之神096
·
2020-07-15 10:26
java
EE框架
深度
Mybatis源码分析
——SqlSessionFactoryBuilder(建造者模式),Mapper接口绑定原理(代理模式)...
2019独角兽企业重金招聘Python工程师标准>>>一:源码分析流程图二:源码分析开始publicclassTestMyBatis{publicstaticvoidmain(String[]args){try{//基本mybatis环境//1.定义mybatis_config文件地址Stringresources="mybatis_config.xml";//2.获取InputStreamRea
weixin_33716557
·
2020-07-15 04:17
Mybatis源码分析
1.前言Mybatis是当前最流行的持久层框架之一,其官方使用手册详见:http://www.mybatis.org/mybatis-3/zh/index.html。使用Mybatis主要分为以下几个步骤:1)添加mybatis依赖到pom文件(maven项目)或jar包到项目中;2)添加mybatis-config.xml配置文件,包含的配置信息与配置方式详见使用手册;3)解析配置文件并创建Co
wxyh_00
·
2020-07-15 00:15
Mybatis
Mybatis源码分析
系列之配置文件加载(一)
源码配置解读配置文件加载入口解释:publicvoidsetUpBeforeClass()throwsException{//全局配置文件名称Stringresource="SqlMapConfig.xml";//写入流中InputStreaminputStream=Resources.getResourceAsStream(resource);//通过建造者模式来获得SqlSession我们的源
Magic_洋
·
2020-07-15 00:11
mybatis
Mybatis源码分析
(一):设计要点与核心架构分析
设计初衷与目的在mybatis的框架出现之前,在Java中存在两种方式来进行数据库操作:第一种为JDBC,这种方式的缺点就是需要在应用代码中加载数据库驱动,创建数据库连接,创建执行语句,使用数据库连接来执行语句,获取返回结果,解析返回结果,关闭数据库连接等操作,所以是比较底层的操作,使用复杂度较高,并且每个有SQL操作的地方都要重复按照这个逻辑来定义代码,造成代码冗余;第二种方式为Hibernat
服务端开发
·
2020-07-15 00:20
Mybatis
mybatis源码分析
(二) 执行过程
这边博客衔接上一篇mybatis的xml解析的博客,在xml解析完成之后,首先会解析成一个Configuration对象,然后创建一个DefaultSqlSessionFactory的session工厂。在这一切的准备过程完成之后,就可以开始对数据库的操作了。首先看openSession()方法privateSqlSessionopenSessionFromDataSource(ExecutorT
奋斗的菜鸡
·
2020-07-14 23:57
mybatis
springboot集成
mybatis源码分析
-启动加载mybatis过程(二)
springboot集成
mybatis源码分析
-启动加载mybatis过程(二)1、springboot项目最核心的就是自动加载配置,该功能则依赖的是一个注解@SpringBootApplication
巡山小妖008
·
2020-07-14 22:53
springboot
mybatis
Mybatis源码分析
(5)---配置节点typeAliases源码解析
背景在上篇
Mybatis源码分析
(4)—配置节点settings源码解析中,我们通过settings节点在于XMLConfigBuilder类中的settingsAsProperties(XNodecontext
午托饭
·
2020-07-14 19:56
Mybatis
mybatis
源码
Mybatis源码分析
(3)---配置节点properties源码解析
1.背景在上篇
Mybatis源码分析
(2)—初始化配置文件内容中,我们通过追踪SqlSessionFactoryBuilder类的创建,了解到了Demo工程mybatisCode的mybatis-config.xml
午托饭
·
2020-07-14 19:55
Mybatis
Mybatis源码分析
(2)---初始化配置文件
1.背景上篇博客
Mybatis源码分析
(1)—mybatis简单入门中,我们通过搭建Mybatis的Demo工程mybatisCode,大概了解了整个mybatis运行的过程,是通过SqlSessionFactoryBuilder
午托饭
·
2020-07-14 19:55
Mybatis
Mybatis源码分析
(1)---mybatis简单入门
1.什么是MyBatis?这里我们直接引用MyBatis官网介绍:详细的mybatis使用以及文档介绍,大家可以直接在mybatis官网了解和学习下面我们搭建mybatis的demo工程mybatisCode,它将作为整个mybatis系列源码分析工程,通过我们平时使用mybatis的运行过程,一层一层的解析mybatis的源码以及原理2.搭建mybatis的mybatisCode工程2.1目录结
午托饭
·
2020-07-14 19:24
Mybatis
mybatis源码
源码分析
从 Spring 集成 MyBatis 浅析 Java动态代理
近日新起了一个项目,所以重新搭建了一下Spring-mybatis,下面是搭建笔记和从Spring-
mybatis源码分析
其如何使用Java动态代理,希望对大家有帮助。
公众号:Java后端
·
2020-07-14 18:44
【
MyBatis源码分析
】configuration初始化机制详解
configuration加载解析对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外。本章将通过以下几点详细介绍MyBatis的初始化过程。1.MyBatis的初始化做了什么2.MyBatis基于XML配置文件创建Configuration对象的过程3.涉及到的相关设计模式一、MyBatis的初始化做了什么任何框架的初始化,无非是加载自己运行时所需要的配置信息。MyBatis
-ztp
·
2020-07-14 18:42
Mybatis源码
Mybatis深度源码分析
Mybatis架构设计图 --转载整理
》MyBatis的架构设计以及实例分析MyBatis架构设计及源代码分析系列:MyBatis架构Mybatis运行原理及源码解析mybatis3.4.6源码深度解析(一)原生Mybatis框架源码解析
Mybatis
了-凡
·
2020-07-14 18:39
技术转载Mybatis
Mybatis源码分析
之参数映射及处理ParameterHandler
ParameterHandler是用来设置参数规则的,当StatementHandler调用prepare方法之后,接下来就是调用它来进行设置参数。ParameterHandler接口:publicinterfaceParameterHandler{ObjectgetParameterObject();voidsetParameters(PreparedStatementps)throwsSQLE
归田
·
2020-07-14 16:39
myBatis入门及源码学习
Mybatis入门及源码学习
mybatis
18-
Mybatis源码分析
(ParameterHandler参数读取)
文章目录Mybatis参数读取源码分析一、ParameterHandler二、DefaultParameterHandler三、流程调试3.1SimpleExecutor#doQuery3.2SimpleExecutor#prepareStatement3.3PreparedStatementHandler#parameterize3.4DefaultParameterHandler#setPar
学圆惑边
·
2020-07-14 15:35
Mybatis
Mybatis源码分析
——mybatis-config.xml解析
本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo在源码分析过程中,会使用到一些额外的知识点,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为两个阶段,如下mybatis-config.xml解析mapper.xml文件解析本篇分析的是第一阶段。首先,看一下初始化入口接着,看一下SqlSessionFactoryB
rice_88
·
2020-07-14 14:37
Mybatis
深度
Mybatis源码分析
——SqlSessionFactoryBuilder(建造者模式),Mapper接口绑定原理(代理模式)
深度
Mybatis源码分析
——SqlSessionFactoryBuilder(建造者模式),Mapper接口绑定原理(代理模式本章源码分析目标1.mybatisSqlSessionFactoryBuilder
kingmax54212008
·
2020-07-14 13:12
Mybatis
MyBatis源码分析
:SqlSessionFactoryBuilder
MyBatis源码分析
:SqlSessionFactoryBuilder1.SqlSessionFactoryBuilder1.SqlSessionFactoryBuilder功能:构造SqlSessionFactory
壮小牛
·
2020-07-14 05:21
Mybatis
Mybatis源码--ParameterHandler源码分析
1概述通过前面文章(
Mybatis源码分析
--StatementHandler源码分析)的学习,我们已经知道了ParameterHandler是用于绑定参数的。
ONROAD0612
·
2020-07-14 05:15
MyBatis
Mybatis源码分析
Mybatis源码分析
(一):Mybatis执行流程
一、Mybatis使用示例我们先先一个简单的例子,对Mybatis使用有一个直观的认识。1.新建mybatis配置文件mybatis-config.xml2.生成model文件User.java和配置文件UserMapper.xmlpackagelast.soul.model;importlombok.Data;@DatapublicclassUser{privateLongid;privateS
高旭
·
2020-07-14 04:28
java
Mybatis源码分析
前言本文通过debug形式,来一步步分析mybatis源码。在开始分析前,我插入了入门demo,以便回忆下mybatis的基本使用。在此基础上,进行源码的分析。工具:IDEA入门demo新建maven工程打开IDEA,新建project,新建一个maven工程,填写项目名称等信息一直下一步即可。导入坐标打开pom.xml文件,依次导入mybatis、mysql驱动、junit、log4j日志坐标。
安迪爸爸
·
2020-07-14 03:52
服务器
Mybatis源码分析
(4)---配置节点settings源码解析
背景在上篇
Mybatis源码分析
(3)—配置节点properties源码解析中,我们通过解析properties节点在于XMLConfigBuilder类中的propertiesElement(XNodecontext
午托饭
·
2020-07-14 02:12
Mybatis
【
MyBatis源码分析
】环境准备
【
MyBatis源码分析
】整个文章结构会在每一部分源码分析的开头列出要分析的源码的实例,比如:分析加载解析XML配置流程,就会先写相关节点的xml配置及解析的源码展示。
-ztp
·
2020-07-14 01:34
Mybatis源码
Mybatis深度源码分析
总结6:
Mybatis源码分析
和架构设计
一、Mybatis设计架构1、架构图2、流程图二、源码解析系列1、源码解析https://www.bbsmax.com/A/rV57bKkRJP/2、Plug的工作原理https://www.cnblogs.com/qdhxhz/p/11390778.html3、Dao没有实现类的思想(JDK动态代理)https://www.cnblogs.com/hopeofthevillage/p/11384
风剑无影
·
2020-07-14 01:48
技术体系
MyBatis源码分析
——使用注解执行SQL
文章目录
MyBatis源码分析
使用注解方式执行SQL相关参考
MyBatis源码分析
使用注解方式执行SQL使用注解执行SQL只需在自定义Mapper接口上添加注解如@Select、@Insert、@Update
SK_Jaco
·
2020-07-13 11:09
MyBatis
数据库
Java
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
MyBatis源码分析
(一)——一级缓存和二级缓存
前言看过无数资料,背过无数面试题,我们都知道了mybatis的一级缓存是sqlSession,二级缓存是namespace,但是mybatis对于缓存到底是怎么实现的,怎么处理的呢,我想不少人其实都是一头雾水。今天,就让我们一起来看看,这背后的原理。一、核心类图二、代码实现:第一步:第二步:看看执行器获取逻辑第三步:分析执行器simpleExcutorSimpleExcutor的query方法来自
蜗牛2号
·
2020-07-12 22:21
java源码分析
Mybatis-spring源码分析之注册Mapper Bean
「
Mybatis源码分析
之Mapper注册与绑定」讲到了Mapper如何注册到Configuration类中与MapperProxyFactory绑定的过程,我们平时的使用场景一般都配合着Spring,
后端进阶
·
2020-07-12 19:25
Mybatis源码分析
之缓存
一、MyBatis缓存介绍正如大多数持久层框架一样,MyBatis同样提供了一级缓存和二级缓存的支持一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当Sessionflush或close之后,该Session中的所有Cache就将清空。2.二级缓存与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用
归田
·
2020-07-11 15:35
myBatis入门及源码学习
Mybatis入门及源码学习
Mybatis源码分析
之(三)mapper接口底层原理(为什么不用写方法体就能访问到数据库)
mybatis是怎么拿sqlSessionMapper的实现原理总结mybatis是怎么拿sqlSession在上一篇的时候,我们的SqlSessionFactoryBuilder已经从xml文件中解析出了Configuration并且返回了sessionFactory。然后我们要从sessionFactory.openSession();中拿到sqlSessionpublicclassDefau
晓_晨
·
2020-07-11 13:08
mybatis
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他