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中的设计模式
https://blog.csdn.net/worn_xiao/article/details/104235116【
Mybatis源码
阅读】初始化过程https://blog.csdn.net/worn_xiao
wornxiao
·
2020-06-21 14:16
J2EE/mybaties
Java旅程
11.1.mybatis1.1.1.mybatis架构分析mybatis框架架构图整体执行流程图sqlsession执行流程图1.1.2.
mybatis源码
分析config文件加载流程mapper文件加载流程
无弦殇
·
2020-06-21 13:19
笔记
看源码时发现MyBatis中使用的9大设计模式,顺道看了一遍设计模式
前言源码、设计模式,听到这个词我就脑袋大,但是你有什么办法,只能学习啊,这不,在看
mybatis源码
的时候,还发现了设计模式的影子,顺便又重新看了一遍设计模式(文末有惊喜),我们来看一下,mybatis
Java架构师联盟
·
2020-06-21 13:04
java
架构
设计模式
java
mybatis
spring
自己手写一个Mybatis框架(简化)
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。一、Mybatis框架流程简介在手写自己
weixin_33713503
·
2020-06-21 10:04
带你手写一个 Mybatis 框架,全面了解 Mybatis 实现原理
在本Chat你将学会如下内容:JDBC的实现原理
MyBatis源码
分析动态代理在MyBatis中的应用MyBatis框架如何操作
GitChat的博客
·
2020-06-21 09:48
Mybatis源码
阅读之数据库连接
前面我介绍了SqlSessionFactory和SqlSession的创建,感兴趣的童鞋可以看看我写的这两篇博客:
mybatis源码
阅读之SqlSessionFactory创建
Mybatis源码
阅读之SqlSession
bluesnail95
·
2020-06-21 08:21
mybatis
Mybatis源码
分析
mybatis简介mybatis是一款优秀的半自动化持久层框架,它支持定制化SQL,存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数获取结果集。Mybatis可以使用简单的XML或者注解来配置和映射原生信息,将java的pojo映射成数据库中的记录。优点:SQL统一维护配置文件中,方便管理维护,半自动化,插件支持,简单易学github地址:https://github
小陌sdauzyh
·
2020-06-21 07:40
mybatis
从 0 开始手写一个 Mybatis 框架,三步搞定!
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。
程序员的成长之路
·
2020-06-21 06:36
公众号
MyBatis源码
手写实现
MyBatis源码
手写实现作者:田超凡时间:20190824开始编码前的准备工作:1.pom.xml加入apache框架基本工具包、dom4jXML文件解析工具、mysql驱动包。
田超凡
·
2020-06-21 04:42
MyBatis框架
ORM
Mybatis源码
解读-设计模式总结
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis源码
中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
蚂蚁学Python
·
2020-06-21 04:35
Mybatis源码
分析之(一)搭建一个mybatis框架(写一个mybatis的Demo)
数据库工作:JAVA工作:demo项目地址:首先,LZ为了照顾一些基础薄弱的同学,所以先带萌新搭一个mybatis的demo,这个在看源码的时候能起到了很大的作用,因为在看源码的时候,会恍然大悟,为什么要这么配置,为什么要这么写。(老鸟可以跳过这篇)数据库工作:首先准备工作,安装mysql,并且新建一张t_demo表CREATETABLE`t_demo`(`name`varchar(255)COL
晓_晨
·
2020-06-21 03:20
mybatis
15-
Mybatis源码
和设计模式-6(插件模块和代理模式、责任链模式)
文章目录Mybatis插件一、自定义插件1.1示例1.2要点二、插件的配置和解析2.1配置2.2解析2.2.1XMLConfigBuilder#parseConfiguration2.2.2XMLConfigBuilder#pluginElement三、代理3.1代理增强3.1.1Configuration3.1.2InterceptorChain3.2Plugin类3.2.1细节3.2.2Plu
学圆惑边
·
2020-06-21 03:24
Mybatis
可怕!你没看错,这次确实是纯手工实现一个MyBatis框架
目录前言JDBC
MyBatis源码
分析前置知识原理分析自己实现一个MyBatis框架#前言MyBatis是一个非常优秀的持久层应用框架,目前几乎已经一统天下。
Java领域佼佼者
·
2020-06-20 22:18
Java
Spring
数据库
数据库
mybatis
mysql
java
spring
读完源码,手写一个mybatis框架(使用mybatis设计模式和框架,内含手写源码)
虽然这样理解是对的,但是失去了理解
mybatis源码
意义。我遵循
mybatis源码
整体框架和设计,使用源码包名和类名,配合工厂模式和代理模式,写了精简版的myb
kuailebuzhidao
·
2020-06-20 20:13
源码学习
mybatis
mybatis源码
手写mybatis
mybatis框架
mybatis源码
分析:插件是什么
在上篇文章中,《
mybatis源码
配置文件解析之四:解析plugins标签》分析了mybatis中的plugin标签的解析过程,plugin指的是插件,或者说拦截器更为形象,因为它的作用就是拦截特定的方法
迷茫中守候
·
2020-06-19 17:00
Mybatis缓存
缓存结构
Mybatis源码
中与缓存相关的类都在cache包中,其中有一个Cache接口,默认实现类PerpetualCache,他是由HashMap实现的,是基础缓存。
snail灬
·
2020-06-19 12:00
mybatis源码
配置文件解析之四:解析plugins标签
在前边的博客在分析了mybatis解析typeAliases标签,《
mybatis源码
配置文件解析之三:解析typeAliases标签》。下面来看解析plugins标签的过程。
迷茫中守候
·
2020-06-18 18:00
mybatis源码
分析——#{}与${}区别
这两个占位符,#预编译后设置参数,#{}会被参数替换,$是sql与参数直接拼接,容易sql注入。变量直接替换一般使用$,例如in(${xxx}),下面看一下源码层面怎么实现的。一:#{}的替换#{}的替换就是jdbc预编译后的替换占位符?/***执行查询操作**@paramsql*@paramlist*@throwsSQLException*/publicstaticvoidexecuteQuer
warrior1234
·
2020-06-16 21:00
mybatis源码
分析——缓存的原理
mybatis缓存有一级缓存和二级缓存,一级缓存的作用域是sqlSession,在一次会话内,默认是开启的,如果在一次会话内,查询的sql、参数相同,则会从缓存中取数据,执行dml操作会清楚缓存,二级缓存的作用域是sqlSessionFactory,默认是关闭的,需要在mybatis-config.xml指定开启,在一个会话完成后,会将所有的select的查询数据缓存,其他的会话如果以相同的sql
warrior1234
·
2020-06-15 22:00
Mybatis源码
手记-从缓存体系看责任链派发模式与循环依赖企业级实践
一、缓存总览Mybatis在设计上处处都有用到的缓存,而且Mybatis的缓存体系设计上遵循单一职责、开闭原则、高度解耦。及其精巧,充分的将缓存分层,其独到之处可以套用到很多类似的业务上。这里将主要的缓存体系做一下简单的分析笔记。以及借助Mybatis缓存体系的学习,进一步窥探责任链派发模式企业级实践,以及对象循环依赖场景下如何避免装载死循环的企业级解决方案。先来一张之前的执行体系图:对照这张执行
了了在小
·
2020-06-15 16:00
mybatis源码
分析——Plugin的使用以及原理
一:插件的使用以分页插件PageHelper为例,看一下mybatis的插件如何工作首先添加pageHelper的maven依赖:com.github.pagehelperpagehelper5.1.2在mybatis-config.xml中配置插件plugins:-->在使用的上一行语句中写上PageHelper.startPage(pageNo,pageSize)页码,每页页数PageHelp
warrior1234
·
2020-06-12 18:00
Mybatis源码
笔记(一) mybatis-config.xml的加载
如果我们要想使用Mybatis框架必然要有的一个部分就是。Stringresource="mybatis-config.xml";InputStreaminputStream=Resources.getResourceAsStream(resource);SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(i
TimothyRasinski
·
2020-06-12 01:00
mybatis源码
分析——常见错误异常分析
1:根据sqlId没有找到对应的MapperStatement,有可能是sql语句不存在、或者sqlId的名字和mapper方法中的名字对不上Exceptioninthread"main"org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):com.example.mybatis.mapper.User
warrior1234
·
2020-06-11 16:00
mybatis源码
分析——Executor的用法
Executor在mybatis中主要是用来执行jdbc操作的,分为几个类型SimpleExecutor,batchExecutor,SqlSession类维护Executor,在SqlSession需要操作数据库时,会委托给executor执行,下面通过源码分析一下:看一下DefaultSqlSession类,里面维护了Executor属性,当sqlSession调用selectList方法时,
warrior1234
·
2020-06-11 13:00
mybatis源码
分析——SqlSession的作用
sqlSession,顾名思义,是一次sql的回话,它起到了承上启下的作用,这个类既维护了Configuration对象,又包含Executor对象,可以执行jdbc操作,在mybatis体系中非常重要,下面我们来看一下这个类的源码:1:sqlSession类的源码SqlSession接口类定义了增删改查的操作:publicinterfaceSqlSessionextendsCloseable{/
warrior1234
·
2020-06-11 10:00
mybatis源码
分析——数据的绑定
1:通过
mybatis源码
看一下mybatis的实现原理实现原理就是动态
warrior1234
·
2020-06-10 15:00
mybatis源码
分析——配置文件的解析
mybatis是一种半自动的orm对象关系模型框架,介于hibenate与jdbc之间,优势就是使用更加灵活,支持程序员手写sqlhibernate是自动生成的框架,不够灵活,jdbc完全手写,开发效率比较低,而mybatis在jdbc的基础上做了封装。1:mybatis的简单使用mysql数据库创建user表,字段nameage导入依赖mavenorg.mybatismybatis3.3.1my
warrior1234
·
2020-06-10 11:00
源码分析 | 基于jdbc实现一个Demo版的Mybatis
一、前言介绍在前面一篇分析了
mybatis源码
,从它为什么之后接口但是没有实现类就能执行数据库操作为入口,整个源码核心流程完全解释了一遍。
小傅哥
·
2020-06-04 23:34
源码分析
jdbc
java
程序员
Mybatis源码
手记-执行器体系
今天将Mybatis的执行器部分做一下简单手记。一、java原生JDBC众所周知,Mybatis是一个半自动化ORM框架。其实说白了,就是将java的rt.jar的JDBC操作进行了适度的封装。所以落到根本,肯定离不开JDBC的基本操作。我们来一起复习一下JDBC的基本操作。这里以java.sql.PreparedStatement为例。1publicvoidjdbcTest()throwsSQL
了了在小
·
2020-05-30 22:00
视频教程-
Mybatis源码
分析与架构介绍-Java
Mybatis源码
分析与架构介绍具有10年以上JAVAEE开发经验,主要从事电信、电商行业。
weixin_32515821
·
2020-05-28 10:00
MyBatis源码
简析
本人目前水平有限,后期深入学习后会补上不足的地方,感谢阅览。分析代码:publicstaticvoidmain(String[]args)throwsIOException{InputStreamis=Resources.getResourceAsStream("mybatis.xml");SqlSessionFactoryfactory=newSqlSessionFactoryBuilder()
future1900
·
2020-05-12 17:11
Mybatis源码
之美:3.8.探究insert,update以及delete元素的用法
探究insert,update以及delete元素的用法在这篇文章中,我们主要学习一下insert,update以及delete元素的定义和作用.insert和update元素如果认真观察的话,我们可以发现insert和update两个元素具有完全相同的DTD定义:相较于select元素来讲,insert和update元素移除了用于配置返回结果的相关属性,新增了几个用于配置主键的属性.属性变更(上
吃竹子的程序熊
·
2020-05-06 15:11
MyBatis源码
窥探(一):MyBatis整体架构解析
MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。1.ORM简介ORM(ObjectRelationalMapping)对象
chengbinbbs
·
2020-04-26 20:13
Mybatis
mybatis
mybatis源码
学习:插件定义+执行流程责任链
基于责任链的设计模式3、基于动态代理的plugin4、拦截方法的intercept(invocation)四、插件开发插件pagehelper1、引入相关依赖2、全局配置3、测试分页五、插件总结前文传送门:
mybatis
天乔巴夏丶
·
2020-04-26 17:00
Mybatis源码
之美:3.6.解析sql代码块
解析sql代码块在处理了复杂繁琐的resultMap元素的解析过程之后,这篇文章我们来学习一个比较简单的元素--sql元素.在mybatis中,我们可以使用sql元素定义部分SQL语句,以达到代码复用的效果.我们可以通过include标签来引用已配置的sql元素.关于include元素的解析操作,我们会在后面的文章中给出,现在我们只需要了解include标签拥有一个指向被引用sql元素的refid
吃竹子的程序熊
·
2020-04-26 16:24
mybatis源码
学习:基于动态代理实现查询全过程
前文传送门:
mybatis源码
学习:从SqlSessionFactory到代理对象的生成
mybatis源码
学习:一级缓存和二级缓存分析下面这条语句,将会调用代理对象的方法,并执行查询过程,我们一起来看看它的内部是如何实现的
天乔巴夏丶
·
2020-04-26 10:00
mybatis源码
学习:一级缓存和二级缓存分析
一级缓存和二级缓存的流程一级缓存总结二级缓存总结一、缓存接口Cache及其实现类二、cache标签解析源码三、CacheKey缓存项的key四、二级缓存TransactionCache五、二级缓存测试六、一级缓存源码解析七、测试一级缓存前文传送门:
mybatis
天乔巴夏丶
·
2020-04-25 22:00
Mybatis源码
详解系列(四)--你不知道的Mybatis用法和细节
这里补充一点,本文的所有测试例子都是基于本系列Mybatis第一篇文章的项目,其他相关博客如下:
Mybatis源码
详解系列(一)-
子月生
·
2020-04-25 17:00
mybatis源码
学习:从SqlSessionFactory到代理对象的生成
目录一、根据XML配置文件构建SqlSessionFactory二、通过SqlSessionFactory创建SqlSession三、getMapper获取动态代理对象一、根据XML配置文件构建SqlSessionFactory一、首先读取类路径下的配置文件,获取其字节输入流。二、创建SqlSessionFactoryBuilder对象,调用内部的build方法。factory=newSqlSes
天乔巴夏丶
·
2020-04-25 15:00
mybatis源码
配置文件解析之三:解析typeAliases标签
在前边的博客在分析了mybatis解析settings标签,《
mybatis源码
配置文件解析之二:解析settings标签》。下面来看解析typeAliases标签的过程。
迷茫中守候
·
2020-04-24 17:00
Mybatis源码
详解系列(三)--从Mapper接口开始看Mybatis的执行逻辑
简介Mybatis是一个持久层框架,它对JDBC进行了高级封装,使我们的代码中不会出现任何的JDBC代码,另外,它还通过xml或注解的方式将sql从DAO/Repository层中解耦出来,除了这些基本功能外,它还提供了动态sql、延迟加载、缓存等功能。相比Hibernate,Mybatis更面向数据库,可以灵活地对sql语句进行优化。本文继续分析Mybatis的源码,第1点内容上一篇博客已经讲过
子月生
·
2020-04-23 15:00
mybatis源码
分析:Mapper接口是什么
在《
mybatis源码
分析:启动过程》中分析了mybatis的启动过程,mybatis的启动过程主要集中在解析其核心配置文件(mybatis-config.xml)上,把配置文件中的配置全部解析到Configuration
迷茫中守候
·
2020-04-22 20:00
mybatis源码
配置文件解析之二:解析settings标签
在前边的博客中分析了mybatis解析properties标签,《
mybatis源码
配置文件解析之一:解析properties标签》。下面来看解析settings标签的过程。
迷茫中守候
·
2020-04-22 17:00
MyBatis源码
笔记助你吊打面试官
写在前面随着手机、平板电脑等移动终端的广泛应用,移动互联网时代已经到来。在这个时代里,构建一个高效的平台并提供服务是移动互联网的基础,在众多的网站服务中,使用Java构建网站的不在少数,移动互联网的特点是大数据、高并发、对服务器往往要求分布式、高性能、高灵活等,而传统模式的Java数据库编程框架已经不在使用了。在这样的背景下,一个Java的持久框架MyBaits走入了我们的世界,它以封装少、高性能
Java技术箭
·
2020-04-22 16:54
Java
数据库
MyBatis
(一)
Mybatis源码
分析-解析器模块
Mybatis源码
分析-解析器模块原创-转载请说明出处1.解析器模块的作用对XPath进行封装,为mybatis-config.xml配置文件以及映射文件提供支持为处理动态SQL语句中的占位符提供支持2
草人木
·
2020-04-19 10:00
mybatis源码
分析一
更多精彩内容可以访问我的独立博客我们从最简单的一段代码开始,分析清楚mybatis的大致工作流程。然后再从代码细节上分析mybatis的一些特性。基础代码示例publicclasstest{publicstaticvoidmain(String[]args)throwsIOException{Stringresource="example/mybatis-config.xml";//加载配置文件并
zofun
·
2020-04-18 20:00
Mybatis源码
之美:3.5.5.配置构造方法的constructor元素
配置构造方法的constructor元素这就是强者的世界吗简单了解constructor元素mybatis为我们提供了一个constructor元素来配置PO对象的构造方法,通常来说,mybatis会通过无参构造方法实例化PO对象,但是在某些特殊的场景下,基于特定的原因,PO对象可能没有提供无参构造,或者必须通过特定的构造方法才能被实例化,这时候,我们就用到了constructor元素.悠闲关于c
吃竹子的程序熊
·
2020-04-17 13:28
Mybatis源码
详解系列(二)--Mybatis如何加载配置及初始化
简介Mybatis是一个持久层框架,它对JDBC进行了高级封装,使我们的代码中不会出现任何的JDBC代码,另外,它还通过xml或注解的方式将sql从DAO/Repository层中解耦出来,除了这些基本功能外,它还提供了动态sql、延迟加载、缓存等功能。相比Hibernate,Mybatis更面向数据库,可以灵活地对sql语句进行优化。前面已经说完mybatis的使用(Mybatis详解系列(一)
子月生
·
2020-04-15 11:00
Mybatis源码
之美:2.14.解析Mybatis的typeHandlers元素,配置Mybatis的类型转换器
解析Mybatis的typeHandlers元素,配置Mybatis的类型转换器在学习本章内容之前,可以通过类型转换器(typeHandlers)来了解关于TypeHandler的用法。示例为了更好的理解mybatis的TypeHandler对象,我们在测试包org.apache.learning下,新建一个typehandler包,该包下的所有数据,均用于演示TypeHandler对象的用法。首
吃竹子的程序熊
·
2020-04-15 09:28
Mybatis源码
之美:2.1.构建XmlConfigBuilder,准备解析XML文件的基础环境
构建XmlConfigBuilder,准备解析XML文件的基础环境前面说过,XmlConfigBuilder对象主要用于解析mybatis的全局配置文件,并以此来获取Configuration对象的实例。XmlConfigBuilder对外暴露了六个构造方法,这六个方法根据mybatis配置文件的输入流类型可以分为两大类:分别负责处理字节流形式的配置文件和处理字符流形式的配置文件。//处理字节流类
吃竹子的程序熊
·
2020-04-15 09:07
上一页
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
其他