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的一些特性。基础代码示例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
mybatis源码
分析:启动过程
mybatis在开发中作为一个ORM框架使用的比较多,所谓ORM指的是ObjectRelationMapping,直译过来就是对象关系映射,这个映射指的是java中的对象和数据库中的记录的映射,也就是一个java对象映射数据库中的一条记录。了解了mybatis的背景及作用下面看mybatis的使用及从源码分析启动过程。一、概述要使用mybatis必须要引入mybatis的jar包,由于我这里需要查
迷茫中守候
·
2020-04-14 19:00
二、MyBatis体系结构源码解读
1、
MyBatis源码
正确姿势技术本质技术本质从宏观到微观宏观理解(1)mybatis数据源的源码解析xml(environment)>javaEnvironment>org.apache.ibatis.session.SqlSessionFactoryBuilder.build
一角钱_hui
·
2020-04-14 08:21
mybatis源码
配置文件解析之一:解析properties标签
mybatis作为日常开发的常用ORM框架,在开发中起着很重要的作用,了解其源码对日常的开发有很大的帮助。源码版本为:3-3.4.x,可自行到github进行下载。从这篇文章开始逐一分析mybatis的核心配置文件(mybatis-config.xml),今天先来看properties标签的解析过程。一、概述在单独使用mybatis的时候,mybatis的核心配置文件(mybatis-config
迷茫中守候
·
2020-04-13 20:00
【源码篇】聊聊源码mybatis(
Mybatis源码
中的11种设计模式)
文章目录2、Mybatis中的设计模式2.1、Builder建造者模式2.1.1、
Mybatis源码
中使用到的案例有:2.1.2、SQL类比如我们直接使用的原生SQL是构建模式么?
小诚信驿站
·
2020-04-12 19:06
#
聊聊源码Mybatis
不了解jdbc,何谈Mybatis的源码解析?
这篇文章主要用来展示jdbc的使用,是为了方便阅读
MyBatis源码
使用的,为源码分析做一个提前热身;里面很多关键性的信息在
MyBatis源码
里面都能找到,本篇不做
MyBatis源码
的分析,因为
MyBatis
思思博士
·
2020-04-11 11:00
Mybatis源码
阅读之我见
今天写写mybatis,天气挺好先放个简单版的流程图:dasdf.png在MapperRegistry中调用的是publicTgetMapper(Classtype,SqlSessionsqlSession)我们在mybatis或者是在其他知名的框架中,基本都会有的一个操作就是动态代理,我们只命名一个接口,我们就需要实现类,而这一点全部由mybatis自己去实现。但有一点,在看源码的过程中,我发现
遗忘的流逝
·
2020-04-10 22:52
MyBatis源码
系列--6.Mybatis与 Spring 整合分析
参考文档:http://www.mybatis.org/spring/zh/index.html这里我们以传统的Spring为例,因为配置更直观,在Spring中使用配置类注解是一样的。基于之前源码分析的两篇文章,用编程式的方式已经弄清楚了MyBatis的工作流程、核心模块和底层原理。编程式的方式,也就是MyBatis的原生API里面有三个核心对象:SqlSessionFactory、SqlSes
威少JAVA
·
2020-04-10 00:05
MyBatis源码
分析之数据库连接池
Mybatis源码
分析之数据库连接池DataSource0、简介本篇文章主要记录下学习Mybatis数据库连接池的理解,本打算先写解析mapper的源码分析文章,随后想想mapper等元素解析相关的文章单独放一个系列记录
DoubleCherish
·
2020-04-09 13:03
Mybatis源码分析
java
数据库
mybatis源码
解析七(DefaultSqlSession线程安全问题)
最近在看源码发现一个问题,在看到DefaultSqlSession这个类的源码的时候,发现这个类上有一句注释,NotethatthisclassisnotThread-Safe意思说说,此类不是线程安全的,及既然不是线程安全的,怎么还是默认实现那接下来,我们就一起从源码的角度分析一下,我们写一个小案例,然后通过案例一起分析下,这里我们以查询为主,代码很简单,就是一个简单的查询,我们定义了一个线程,
为梦想前进
·
2020-04-07 15:02
mybatis源码
解析八(spring处理sqlsession线程安全问题)
上一期,分析了下关于mybatis的处理sqlsession线程安全的问题,主要是通过sqlSessionManager代理类增强的形式,通过每次创建一个新的DefautSqlsession或者将当前线程放入到Threadlocal中实现的,那么我们在使用mybatis的时候,一般不可能单独使用mybatis的,一般都是和sprig框架配合使用,现在都是面向spring编程了,所以,本次我们一起分
为梦想前进
·
2020-04-07 15:14
从
mybatis源码
看JDK动态代理
网上好多说到动态代理的文章内容都是这样子的:一个实际干事的类Real;一个被创造的代理类Proxy。Proxy调用Real中被代理的方法;有模有样的在被代理的方法前后打印出一些字符串。比如下面的例子:1publicclassJdkProxy{2staticinterfaceIProxy{3Stringsay(Strings);4}5staticclassRealimplementsIProxy{6
思思博士
·
2020-04-06 13:00
【源码篇】聊聊源码mybatis(目录篇全局核心重点图)
文章目录前言第一个阶段是全局核心重点图首先需要明确Mybatis在应用程序中的位置
Mybatis源码
包的逻辑架构图Mybatis的应用逻辑执行架构图Mybatis分为2个阶段构建初始化和执行数据结果集处理
小诚信驿站
·
2020-04-05 23:36
#
聊聊源码Mybatis
Mybatis源码
之配置初始化
基础示例一个Mybatis的项目基本配置信息是写在一个xml文件中,指定数据库类型、数据源、事务等相关信息,如下程序执行之初会解析配置文件,后续将根据配置的信息初始化数据连接池、Mapper等,下面根据源码看看配置文件的解析。下面代码展示了根据配置文件读取文件流,解析文件流并生成configuration并生成SqlSessionFactory//配置文件的位置Stringresource="my
Kohler
·
2020-03-31 16:58
mybatis源码
之参数解析及结果映射执行过程
1、mybatis执行入口前一篇已经分析过SqlSession内的getMapper方法,最终是通过configuration生成了MapperProxy代理类。所有mapper的如果其实是通过MapperProxy代理执行,代码如下args参数为mapper方法执行调用的参数image.png实际执行者为MapperMethod类的execute,此文主要分析select执行过程image.pn
huangxiongbiao
·
2020-03-30 18:29
Mybatis源码
分析(四)mapper接口方法是怎样被调用到的
一、问题在Mybatis架构的最上层就是接口层,它定义的是与数据库交互的方式。还记不记得我们在前面章节说的那两种方式?不记得没关系,我们回忆一下。Mybatis提供的API使用Mybatis提供的API进行操作,通过获取SqlSession对象,然后根据StatementId和参数来操作数据库。Stringstatement="com.viewscenes.netsupervisor.dao.Us
清幽之地
·
2020-03-29 00:10
深入剖析 mybatis 原理(三)如何整合Spring
#前言在前两篇文章我们在
mybatis源码
中探究了他的运行原理,但在实际使用中,我们需要将其和Spring整合使用,特别是当下流行的SpringBoot,那么,myBatis在SpringBoot中是如何运行的呢
莫那一鲁道
·
2020-03-28 03:26
配置简介(
MyBatis源码
篇)
1SqlSessionFactoryBuilder#上篇例子中,我们以SqlSessionFactoryBuilder去创建SqlSessionFactory,那么,我们就先从SqlSessionFactoryBuilder入手,咱们先看看源码是怎么实现的。SqlSessionFactoryBuilder源码片段:publicclassSqlSessionFactoryBuilder{//Read
猿码道
·
2020-03-28 02:11
建造者(Builder)模式
最近在学习Mybatis原理的时候,发现其初始化的过程中涉及到创建各种对象,运用了一些创建型的设计模式,其中建造者模式的运用还比较多,应该是比较常用的设计模式,所以来深入了解一下
Mybatis源码
案例SqlSessionFactory
就没一个昵称能用
·
2020-03-22 18:54
一周总结(十八)
读
Mybatis源码
,关于Cache的控制,Exector部分学习了React的语法,ReactNactive做了小Demo周末看了加勒比海盗2,3.看了死侍。看了蝙蝠侠。
Real_man
·
2020-03-15 23:13
mybatis源码
阅读(1)
楔子之前用了很久的mybatis,但是从来没有去认真的看过它的源代码,于是便产生的阅读mybatis源代码的念头。无论做什么事,开始的着手点是最难的。对于阅读源代码,最好的方式无外乎写一下小的case,然后一步一步debug跟进。但是由mybatis源代码中提供完善的单元测试,因此我们可以不必自己去写case,直接使用这些单元测试就可以了。例如:使用mybatis简单的执行一条SQL就可以通过Sq
路痴小僧
·
2020-03-15 04:41
Mybatis源码
解读-初始化过程详解
在使用Mybatis时,我们通常将其配置在Spring容器中,当Spring启动的时候会自动加载Mybatis的所有配置文件然后生成注入到Spring中的Bean,本文从实用的角度进行
Mybatis源码
解读
Java_苏先生
·
2020-03-14 14:10
MyBatis源码
学习
mybatis不会直接和数据库进行打交道,mybatis其实是对jdbcapi的进一步封装,最终和数据库打交道的仍然是jdbc。1.MyBatis基本构成SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口);生命周期:它的作用就是一个构造器,一旦我们构建了SqlSessionFactory,SqlSessionFa
小毛1221
·
2020-03-14 03:37
Mybatis源码
解析(构造篇)
今天会给大家分享我们常用的持久层框架——MyBatis的工作原理和源码解析,欢迎探讨!说实话MyBatis是我第一个接触的持久层框架,在这之前我也没有用过Hibernate,从Java原生的Jdbc操作数据库之后就直接过渡到了这个框架上,当时给我的第一感觉是,有一个框架太方便了。举一个例子吧,我们在Jdbc操作的时候,对于对象的封装,我们是需要通过ResultSet.getXXX(index)来获
java风清扬
·
2020-03-13 11:17
mybatis源码
学习-自动配置原理
原创不易,转载请写明出处这个地方涉及到springboot自动配置,就先聊聊springboot的自动配置原理,在spingboot的自动配置中,最重要的注解是如下注解,保留核心代码@Import(EnableAutoConfigurationImportSelector.class)public@interfaceEnableAutoConfiguration{}看看EnableAutoConf
一驴绝尘
·
2020-03-09 21:08
【深入浅出MyBatis系列一】MyBatis入门
my.oschina.net/xianggao)发布于2015/12/2210:37原文链接0系列目录#深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis
天天嗦螺蛳粉
·
2020-03-04 11:57
Mybatis源码
解析-请求解析
我们再第一篇文章中介绍到了动态代理。他的InvocationHandler的事例MapperProxy来处理真正的请求。@OverridepublicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable{if(Object.class.equals(method.getDeclaringClass())){try{re
数齐
·
2020-03-02 03:34
《MyBatis3源码深度解析》图书简介
一、图书封面二、书籍目录前言4第1篇Mybatis3源码7第1章搭建
Mybatis源码
环境71.1Mybatis3简介71.2环境准备71.3获取
Mybatis源码
81.4导入
Mybatis源码
到IDE101.5HSQLDB
江荣波
·
2020-02-26 21:38
手把手带你阅读
Mybatis源码
(三)缓存篇
前言大家好,这一篇文章是MyBatis系列的最后一篇文章,前面两篇文章:手把手带你阅读
Mybatis源码
(一)构造篇和手把手带你阅读
Mybatis源码
(二)执行篇,主要说明了MyBatis是如何将我们的
Java知音*
·
2020-02-24 16:00
手把手带你阅读
Mybatis源码
(二)执行篇
前言上一篇文章提到了MyBatis是如何构建配置类的,也说了MyBatis在运行过程中主要分为两个阶段,第一是构建,第二就是执行,所以这篇文章会带大家来了解一下MyBatis是如何从构建完毕,到执行我们的第一条SQL语句的。之后这部分内容会归置到公众号菜单栏:连载中…-框架分析中,欢迎探讨!入口(代理对象的生成)publicstaticvoidmain(String[]args)throwsExc
Java知音*
·
2020-02-22 11:00
手把手带你阅读
Mybatis源码
(一)构造篇
前言今天会给大家分享我们常用的持久层框架——MyBatis的工作原理和源码解析,后续会围绕Mybatis框架做一些比较深入的讲解,之后这部分内容会归置到公众号菜单栏:连载中…-框架分析中,欢迎探讨!说实话MyBatis是我第一个接触的持久层框架,在这之前我也没有用过Hibernate,从Java原生的Jdbc操作数据库之后就直接过渡到了这个框架上,当时给我的第一感觉是,有一个框架太方便了。举一个例
Java知音*
·
2020-02-21 10:00
【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)
陶邦仁发布于2015/12/2211:06原文链接系列目录深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)【深入浅出
天天嗦螺蛳粉
·
2020-02-20 20:35
MyBatis源码
分析(2)- 当我们调用接口时,我们调用了什么?
通过mapperinterface使用Mybatis应该是最为通用的一种使用方式,通过这种方式阅读起来清晰明了,同时又合适的屏蔽了细节。但是,Mybatis是如何让自定义接口可以实现种种数据库操作的功能,是一个非常有趣的问题。1.开始但是这节我们不直接从接口开始,先从架构图中最“大”的一部分-配置开始说起。作为Mybatis中牵连最广的一个类,Configuration类承担起了如下3个任务:为所
AngusLean
·
2020-02-20 02:34
从 0 开始手写一个 Mybatis 框架,三步搞定!
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。
wx5d30212829a35
·
2020-02-17 17:35
Java
Mybatis
互联网
Mybatis源码
分析(二)XML的解析和Annotation的支持
一、前言上一节内容我们简单回顾了Mybatis的整体架构和相关概念知识点,并简述了本系列所用框架的版本。Mybatis功能强大,花样繁多。我们不会太关心所有的技术点,而是重点剖析常用的功能点。同Spring相比,Mybatis多以应用为主。从本节开始,我们正式开始源码的分析。二、环境配置每个基于MyBatis的应用都是以一个SqlSessionFactory的实例为中心的,SqlSessionFa
清幽之地
·
2020-02-17 02:46
【深入浅出MyBatis系列八】SQL自动生成插件
陶邦仁发布于2015/12/2509:56原文链接系列目录深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)【深入浅出
天天嗦螺蛳粉
·
2020-02-16 05:33
【深入浅出MyBatis系列七】分页插件
陶邦仁发布于2015/12/2415:39原文链接系列目录深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)【深入浅出
天天嗦螺蛳粉
·
2020-02-12 10:22
mybatis源码
分析-connection处理
mybatis数据源处理根据源码分析例如查询接口最终是调用SimpleExecutor.doQuery()下面是源码@OverridepublicListdoQuery(MappedStatementms,Objectparameter,RowBoundsrowBounds,ResultHandlerresultHandler,BoundSqlboundSql)throwsSQLException
cjxz
·
2020-02-12 06:15
mybatis源码
-日志模块-logging
1.包结构image.png2.日志模块类图image.png3.适配器模式1.mybatis没有本身的日志实现,使用的都是比较流行的第三方组件比如log4j,commonlog等2.mybatis实现了自己的log接口,自己的一套,那么如何和市面上面流行的日志框架做整合呢?这个时候就需要用到适配器模式什么是适配器模式:举个简单的例子就是你有两孔插头,墙上只有三孔插座,那么这个时候如何接到电呢?所
shiva_s_guard
·
2020-02-10 02:50
【深入浅出MyBatis系列十】与Spring集成
陶邦仁发布于2015/12/2515:42原文链接系列目录深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)【深入浅出
天天嗦螺蛳粉
·
2020-02-09 10:47
【深入浅出MyBatis系列九】改造Cache插件
陶邦仁发布于2015/12/2515:28原文链接系列目录深入浅出MyBatis系列【深入浅出MyBatis系列一】MyBatis入门【深入浅出MyBatis系列二】配置简介(
MyBatis源码
篇)【深入浅出
天天嗦螺蛳粉
·
2020-02-09 06:07
阿里Java二面“跪败”
MyBatis源码
后,面试官推荐我看这份源码笔记
前言之前和阿里的一个面试官交流中,他讲到对于性能要求高,需求变化多的互联网项目来说,sql直接优化上,mybatis要比hibernate方便很多,用在sql优化上的开发时间太长,阿里巴巴的持久层抛弃Hibernate,采用了MyBatis框架。于是趁热打铁,研究了一下MyBatis。MyBatis框架的核心功能其实并不难,无非就是动态代理和jdbc的操作,难的是写出来可扩展,高内聚,低耦合的规范
飒拉阿依酱
·
2020-02-07 16:47
程序员
Java
spring
阿里Java二面“跪败”
MyBatis源码
后,面试官推荐我看这份源码笔记
前言之前和阿里的一个面试官交流中,他讲到对于性能要求高,需求变化多的互联网项目来说,sql直接优化上,mybatis要比hibernate方便很多,用在sql优化上的开发时间太长,阿里巴巴的持久层抛弃Hibernate,采用了MyBatis框架。于是趁热打铁,研究了一下MyBatis。MyBatis框架的核心功能其实并不难,无非就是动态代理和jdbc的操作,难的是写出来可扩展,高内聚,低耦合的规范
飒拉阿依酱
·
2020-02-07 16:21
程序员
Java
spring
MyBatis源码
解析(二)——动态代理实现函数调用
如果我们要使用MyBatis进行数据库操作的话,大致要做两件事情:定义DAO接口在DAO接口中定义需要进行的数据库操作。创建映射文件当有了DAO接口后,还需要为该接口创建映射文件。映射文件中定义了一系列SQL语句,这些SQL语句和DAO接口一一对应。MyBatis在初始化的时候会将映射文件与DAO接口一一对应,并根据映射文件的内容为每个函数创建相应的数据库操作能力。而我们作为MyBatis使用者,
大闲人柴毛毛
·
2020-02-07 03:02
mybatis源码
解析之架构理解
mybatis是一个非常优秀的开源orm框架,在大型的互联网公司,基本上都会用到,而像程序员的圣地—阿里虽然用的是自己开发的一套框架,但其核心思想也无外乎这些,因此,去一些大型互联网公司面试的时候,总是会问到对于这些开源框架的理解,有没有阅读开源框架的源码,虽说是面试造火箭,工作拧螺丝,但是让你造火箭的时候,你总得能伸把手啊。所以,我们既然不能改变大厂,那只能自己去提升源码阅读的能力了。mybat
吃肉不长肉的小灏哥
·
2020-02-06 21:00
Mybatis源码
之主键、事务、连接池
主键Mybatis主键生成策略使用方式为在数据变更语句insert,update设置useGeneratedKeys属性为true(仅对insert和update有用),这会令MyBatis使用JDBC的getGeneratedKeys方法来取出由数据库内部生成的主键(比如:像MySQL和SQLServer这样的关系数据库管理系统的自动递增字段),默认值:false。其实现方式为:Mybatis提
Kohler
·
2020-02-06 15:34
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
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
其他