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源码
分析之(三)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
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技术与应用
Mybatis源码
解析之配置加载(一)
Mybatis源码
解析之配置加载(一)用了好几年的mybatis了,但是很少来钻研mybatis原理所在,最近抽出空来,就把这一整套源码都研究了下,然后发现就是这些东西,mybatis没啥难度,于是决定把研究的这一整套写一个
叶长风
·
2020-07-10 04:09
java
mybatis
Mybatis源码分析
Mybatis源码
学习之资源加载(六)
类加载器简介Java虚拟机中的类加载器(ClassLoader)负责加载来自文件系统、网络或其他来源的类文件。Java虚拟机中的类加载器默认使用的是双亲委派模式,如图所示,其中有三种默认使用的类加载器,分别是BootstrapClassLoader、ExtensionClassLoader和SystemClassLoader(也被称为ApplicationClassLoader),每种类加载器都已
IT码客
·
2020-07-10 03:35
【源码】Mybatis
mybatis源码
分析之spring加载mapper.xml文件原理解析
首先我们来看看mapper.xml文件的加载方式第一种:基于mapper接口类具体路径配置这种情况下,如果是非注解模式的话xml配置文件必须和这个类在同一级目录,且与Mapper类同名。项目结构类似第二种:基于mapper类所在包的package路径配置其实这算是第一种的一个变种。一个配置mapper类,每次新加删除比较麻烦,直接扫描mapper类所在包。项目结构类似第三种:把Mapper的xml
timy07
·
2020-07-10 03:38
工作培训
Mybatis源码
分析(二)
3、解析注解的sql前面我们描述的是XML的形式,这次我们来看注解的形式,跟前面一样先会去解析mybatis的配置文件,然后再解析mapper文件。我们这里采用的是注解形式也就不在看mapper文件的解析。前面解析也讲述过解析mybatis的配置文件这里不在重复,直接跳转到解析sql语句这里privatevoidmapperElement(XNodeparent)throwsException{i
逗逗大魔王
·
2020-07-09 23:11
mybatis
Mybatis源码
分析(一)
1、Mybatis简介在JDBC底层没有用连接池、操作数据库需要频繁的创建和关联链接。消耗很大的资源;写原生的JDBC代码在java中,一旦我们要修改sql的话,java需要整体编译,不利于系统维护;返回result结果集也需要硬编码。所以就出现了,一些优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。而Mybatis就是这样的框架,避免了几乎所有的JDBC代码和手动设置参数以及获取结果
逗逗大魔王
·
2020-07-09 23:11
mybatis
Mybatis源码
日知录
MyBatis源码
相对于Spring应该是层次比较清晰,容易理解的;其实简单来说就是解耦、封装,让开发者更关注业务层的开发,实现简单而又方便的调用。
bjd528
·
2020-07-09 23:45
Java架构师成长之路
目录导航前言一、源码分析专题1.1设计模式详解1.2
Mybatis源码
分析1.3Spring5源码分析二、分布式架构专题2.1漫谈分布式架构2.2分布式架构的基础2.3分布式通信框架2.4分布式协调服务
✎ℳ๓₯㎕...雲淡風輕
·
2020-07-09 22:46
SSM源码分析之Mybatis04-
MyBatis源码
解读与1.0版本设计过程
Mybatis源码
分析04-
MyBatis源码
解读与1.0版本设计过程前言源码解读1.0版本的设计过程MybatisV1.0手写后记前言上一节,我们debug了mybatis的orm执行过程,这一节我们将核心实现手写成一个
✎ℳ๓₯㎕...雲淡風輕
·
2020-07-09 22:46
源码专题
Mybatis源码
-CglibProxyFactory(cglib工厂类)
Cglib代理工厂类,为了实现延迟加载属性1、源码(Cglib代理工厂类)importjava.lang.reflect.Method;importjava.util.List;importjava.util.Map;importjava.util.Properties;importjava.util.Set;importnet.sf.cglib.proxy.Callback;importnet.
往前的娘娘
·
2020-07-09 20:56
mybatis源码
MyBatis源码
Mybatis源码
-keygen包(Key)
今天主要学习是executor包下一个子包keygen,这个包功能就是自动生成一个key,例如@SelectKey注解设置字段,然后返回,生成key有两种,一种是通过jdbc生成,一种通过执行sql语句获取某个字段值实现生成key1、Jdbc3KeyGenerator/***这个类的功能就是在执行完sql获取stmt.getGeneratedKeys()生成keys的值,然后通过下标与配置keyP
往前的娘娘
·
2020-07-09 20:56
mybatis源码
MyBatis源码
MyBatis源码
分析(三)
之前已经讲了一个MyBatis项目的基本配置,接下来我们来通过断点跟踪,一步一步揭开它的神秘面纱.@Slf4jpublicclassApp{publicstaticvoidmain(String[]args)throwsIOException{//通过配置文件获取输入流InputStreamresourceAsStream=Resources.getResourceAsStream("mybati
蚂蚁style
·
2020-07-09 17:00
Mybatis源码
-VFS(虚拟文件系统)
VFS是虚拟文件系统通用API,不需关心不同服务的存储媒介什么,高层的抽象,这个在mybatis是一个抽象类,它有两个实现类一个是默认,一个是JBoss的1、继承图示1.1.子类需要实现只有两个方法:isValid()是否有效list(URLurl,StringforPath)列出某个path对应URL的所有子资源,递归获取2、VFS源码(注释)/***ProvidesaverysimpleAPI
往前的娘娘
·
2020-07-09 08:14
mybatis源码
MyBatis源码
Mybatis源码
-ClassLoaderWrapper(类加载器包装类)
该类属于mybatis的io包的,主要用来加载类,加载器是有多种,一个类应该用哪个类加载器呢,这个类就是做这个层封装,将多个类加载器进行排序。1、源码/***Aclasstowrapaccesstomultipleclassloadersmakingthemworkasone*将多个类型加载器放入当前类加载器中使用*1.自定义类加载器>默认类加载器>当前线程Id上下文类加载器>当前类的加载器>系统
往前的娘娘
·
2020-07-09 08:42
mybatis源码
MyBatis源码
JDK动态代理一定要有代理对象吗?请你结合Mybatis回答
动态代理有一段时间没有写文章了,主要是回想起这两年多的时间,多多少少,每个知识点差不多都有写到了,一时也想不起什么新鲜的知识分享给大家.今天写动态代理,主要是在看
Mybatis源码
时,发现真的是把动态代理用的是太
程序员老黑
·
2020-07-09 07:36
后端
架构
学习
java
mybatis
SSM
mybatis查询mysql的datetime类型数据时间差了14小时(时区问题)
现在开始调试
mybatis源码
,调试到mysql-connector-java-6.0.4.jar包的com.mysql.c
yjgithub
·
2020-07-09 03:19
Mysql
十年老架构师神级推荐,
MyBatis源码
分析,再也不用为源码担忧了
十年老架构师神级推荐,
MyBatis源码
分析,再也不用为源码担忧了前言MyBatis是一个优秀的持久层ORM框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动
weixin_45039616
·
2020-07-08 23:24
002.持久层框架设计实现及
MyBatis源码
分析-----自定义持久层框架
一.JDBC问题分析JDBC使用/***JDBC连接*@paramargs*/publicstaticvoidmain(String[]args){Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;try{//加载数据库驱动Class.forName("com.mysq
LLigj_supper
·
2020-07-08 20:05
开源框架源码分析
Mybatis源码
学习及自定义持久层框架
Mybatis架构原理架构功能分为三层:(1)接口层:给外部使用的接口api。通过api来操作数据库。mybatis与数据库的交互分为两种:传统的xml和mapper代理。(2)数据支撑层:负责具体的sql查找,解析,执行以及结果映射。主要目的是:根据调用的请求完成一次数据库的操作。(3)基础支撑层:负责最基础的功能支撑。包括链接管理,事务管理,配置加载和缓存处理。主要构件Myabaits层次架构
Manuuuuuuuuuuuuuuuuu
·
2020-07-08 18:17
MyBatis源码
分析(二)
MyBatis的xml配置(核心配置)configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数
蚂蚁style
·
2020-07-08 16:00
Mybatis源码
:@MapperScan解析过程
目录0.说明1.@MapperScan2.MapperScannerRegister3.ClassPathMapperScanner4.MapperFactoryBean0.说明mybatis构建过程主要包括:解析mybatis配置文件,构造Configuration配置类对象和SqlSessionFactory;利用@MapperScan注册BeanDefinition到BeanFactory工
mumubili
·
2020-07-08 07:34
mybatis
BeanDefinition
Mybatis做分页查询(Mapper.xml做乘法运算)
之前看网上有人把
Mybatis源码
下载下来之后自己改了改自动生成的实体类,我现在也有点想改--如果改的话肯定就朝着MybatisPlus的方向做。。
码农麒麟
·
2020-07-08 05:40
SSM
MyBatis源码
分析(一)-----解析数据源
概论:mybatis主要分分为三个步骤第一步:解析数据源第二步:获取执行sql语句第三步:执行操作一.创建SqlSessionFactory对象首先介绍SqlSessionFactoryBuilder类,根据名称可得知是用来创建SqlSessionFactory对象的,1.1创建SqlSessionFactory对象首先第一步调用SqlSessionFactoryBuilder.build(Inp
英俊xiansen
·
2020-07-08 04:11
mybatis
Mybatis源码
!!获取教程,github方式,适用idea
当然获取方法有很多种,我提供一种大多数都使用的方法。首先打开全世界最大的同性交友平台github然后搜索Mybatis即可打开之后选择这个官方的打开打开之后在Branch中选择master然后点击绿色图标CloneorDownload这里可以选择直接复制git地址然后在idea中打开或者,选择DownloadZIP下载压缩包然后将其解压在idea中项目所属文件即可然后打开ideaopen打开所解压
hustle0000
·
2020-07-08 01:56
Java
深入
Mybatis源码
——执行流程
前言上一篇分析Mybatis是如何加载解析XML文件的,本篇紧接上文,分析Mybatis的剩余两个阶段:代理封装和SQL执行。正文代理封装Mybatis有两种方式调用Mapper接口:privatestaticSqlSessionFactorysqlMapper=newSqlSessionFactoryBuilder().build(reader);//第一种try(SqlSessionsessi
夜勿语
·
2020-07-07 22:00
MyBatis源码
分析(一)
MyBatis故事:官方网站:http://www.mybatis.org官方文档:http://www.mybatis.org/mybatis-3/GitHub:https://github.com/mybatis通过在MyBatis的官方网站,我们会看到和MyBatis相关的一些软件产品:MyBatisMigrations是一款数据库迁移工具http://www.mybatis.org/mig
蚂蚁style
·
2020-07-07 16:00
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他