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里的设计模式有哪些?我一口气答了8种
关注“Java后端技术全栈”回复“面试”获取全套面试资料从2018年开始,我的简历上开始有一句很diao的话:❝研究过
Mybatis源码
❞然后,每次面试都会被问到Mybatis里的设计模式。
田维常
·
2020-12-21 11:08
java
mybatis
Mybatis源码
学习---(step-01)概述&计划
1.常用的持久层框架比较在实际开发Java系统时,我们一般通过JDBC完成多种数据库操作。其主要步骤如下:(1)注册数据库驱动,明确数据库URL地址、数据库用户名、密码等连接信息(2)通过DriverManager打开数据库连接2IMyBatis技术内幕(3)通过数据库连接创建Statement对象(4)通过Statement对象执行SQL语句,得到ResultSet对象(5)从ResultSet
swalikh
·
2020-12-15 19:02
mybatis源码学习研读
mybatis
源码
java
Mybatis源码
详细分析(最新最全)
目录1、概述2、项目搭建3、源码分析3.1SqlSessionFactory的构建3.2SqlSession的获取3.3动态代理获取Mapper对象3.4通过Mapper的执行过程4、总结1、概述国内数据库访问层从之前火爆的Hibernate到现在绝大部分公司都用Mybatis,倒也不是说Mybatis比Hibernate优秀,看看现在SpringDataJPA底层的支持还是Hibernate,只
Leewen_Dong
·
2020-12-15 17:08
mybatis
java
jdbc
Mybatis是如何解析配置文件的?
关注“Java后端技术全栈”回复“面试”获取全套面试资料在以前文章中,我们把
Mybatis源码
阅读的整个流程梳理了一遍。今天,我们来详细聊聊,Mybatis是如何解析配置文件的。
田维常
·
2020-12-15 13:42
java
mybatis
Mybatis是如何解析配置文件的?
关注“Java后端技术全栈”回复“面试”获取全套面试资料在以前文章中,我们把
Mybatis源码
阅读的整个流程梳理了一遍。今天,我们来详细聊聊,Mybatis是如何解析配置文件的。
田维常
·
2020-12-15 13:14
java
mybatis
让人纠结的
mybatis源码
,我该拿你怎么办?
关注“Java后端技术全栈”回复“面试”获取全套面试资料背景最近,听到很多吐槽:看到源码,心中就感到十分纠结、特别烦恼。为什么纠结?因为面试的时候,面试官很喜欢问:你看过什么框架源码?JDK源码也行。这时候,如果回答没有看过,虽然没让你立马回去等通知。但也许,你在面试官心中的印象就大打折扣了。如果回答看过,并且还能较为流利地说上一番,那面试官或许会在心里赞叹:小伙子可以呀!(PS:很多面试官自己也
田维常
·
2020-12-14 14:06
mybatis
源码
java
让人纠结的
mybatis源码
,我该拿你怎么办?
关注“Java后端技术全栈”回复“面试”获取全套面试资料背景最近,听到很多吐槽:看到源码,心中就感到十分纠结、特别烦恼。为什么纠结?因为面试的时候,面试官很喜欢问:你看过什么框架源码?JDK源码也行。这时候,如果回答没有看过,虽然没让你立马回去等通知。但也许,你在面试官心中的印象就大打折扣了。如果回答看过,并且还能较为流利地说上一番,那面试官或许会在心里赞叹:小伙子可以呀!(PS:很多面试官自己也
田维常
·
2020-12-14 14:34
mybatis
源码
java
mybatis源码
阅读方法
很多人看源码都不知道如何看,今天来教教大家如何看源码。前提是我们需要对整个Mybatis的原理、工作流程和模块进行一个整体的直知晓,另外还要有使用经验。建议先看这两篇文章:本文主要内容:源码下载如何下载源码?进入官网https://mybatis.org/mybatis-3...方法一跳转到github上,我们可以在github上下源码https://github.com/mybatis/my..
田维常
·
2020-12-13 16:55
mybatis
java
mybatis源码
阅读方法
很多人看源码都不知道如何看,今天来教教大家如何看源码。前提是我们需要对整个Mybatis的原理、工作流程和模块进行一个整体的直知晓,另外还要有使用经验。建议先看这两篇文章:本文主要内容:源码下载如何下载源码?进入官网https://mybatis.org/mybatis-3...方法一跳转到github上,我们可以在github上下源码https://github.com/mybatis/my..
田维常
·
2020-12-13 16:35
mybatis
java
自定义持久层框架
1.前言通过模仿
MyBatis源码
手写自定义持久层框架,命名规则,设计规范均参考MyBatis.2.自定义框架设计思路使用端:提供配置文件1.SqlMapConfig.xml核心配置文件,存放数据源,引入
杨杨杨杨杨杨杨振
·
2020-12-07 21:55
java
mybatis源码
_
MyBatis源码
篇
Mybatis源码
分析一、整体架构图二、核心组件Configuration:用于描述MyBatis主配置文件信息,MyBatis框架在启动时会加载主配置文件,将配置信息转换为Configuration对象
weixin_39687667
·
2020-12-05 04:53
mybatis源码
Mybatis如何执行Select语句,你真的知道吗?
前两篇分别介绍了Mybatis的重要组件和围绕着Mybatis中的重要组件教大家如何阅读源码的一些方法,有了前面两篇文章的基础,来看这篇文章的才不会觉得吃力,如果没有看过的朋友,陈某建议去看看,两篇文章分别是
Mybatis
爱撒谎的男孩
·
2020-12-04 18:49
java
mybatis
mybatis源码
分析(二) 执行过程
这边博客衔接上一篇mybatis的xml解析的博客,在xml解析完成之后,首先会解析成一个Configuration对象,然后创建一个DefaultSqlSessionFactory的session工厂。在这一切的准备过程完成之后,就可以开始对数据库的操作了。首先看openSession()方法privateSqlSessionopenSessionFromDataSource(ExecutorT
liangtengyu
·
2020-11-30 22:53
java
mybatis源码
分析(一) 配置文件的解析过程
mybatis的源码有人已经做过一个中文的注释,代码github上有mybatis中文注释源码mybatis框架有两个非常重要的xml文件,一个是mybatis的config文件,一个就是mapper文件,mybatis会根据config的xml文件去生成一个Configuration类,在这个过程中也会根据配置的mapper文件生成MappedStatement,这篇博客探究的就是这样一个过程,
liangtengyu
·
2020-11-30 22:53
java
mybatis源码
分析(一) 配置文件的解析过程
mybatis的源码有人已经做过一个中文的注释,代码github上有mybatis中文注释源码mybatis框架有两个非常重要的xml文件,一个是mybatis的config文件,一个就是mapper文件,mybatis会根据config的xml文件去生成一个Configuration类,在这个过程中也会根据配置的mapper文件生成MappedStatement,这篇博客探究的就是这样一个过程,
liangtengyu
·
2020-11-30 22:19
java
mybatis源码
分析(二) 执行过程
这边博客衔接上一篇mybatis的xml解析的博客,在xml解析完成之后,首先会解析成一个Configuration对象,然后创建一个DefaultSqlSessionFactory的session工厂。在这一切的准备过程完成之后,就可以开始对数据库的操作了。首先看openSession()方法privateSqlSessionopenSessionFromDataSource(ExecutorT
liangtengyu
·
2020-11-30 22:18
java
mybaits源码--马士兵(
mybatis源码
深层解读,吊打面试官的硬核技能!)
1.驱动加载的源码:mapper是怎样执行的?注解sql是怎样执行的?sql中的参数是怎样传递的?将参数放入hashMap返回:那么如何解析sql呢?明天再说!
攻城狮numberOne
·
2020-11-29 20:35
mybatis聚合
mybatis执行流程_自己手写一个Mybatis框架(简化)
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。
weixin_39925813
·
2020-11-29 19:43
mybatis执行流程
文件
mybatis从入门到精通 源码_拿到美团、快手offer后收到阿里三面通知,竟被MyBatis挡住了去路...
刚开始聊得还好,直到阿里面试官揪着
MyBatis源码
一直问,他自己MyBatis还是比较常用的,但是没深入看过源码,所
weixin_39635657
·
2020-11-28 06:06
mybatis从入门到精通
源码
Mybatis源码
阅读(二)
本文主要介绍Java中,不使用XML和使用XML构建SqlSessionFactory,通过SqlSessionFactory中获取SqlSession的方法,使用SqlsessionManager管理Sqlsession复用等等..以及相关的示例代码SqlSessionSqlSessions是由SqlSessionFactory实例创建的。SqlSessionFactory对象包含创建SqlSe
liangtengyu
·
2020-11-27 23:46
java
Mybatis源码
阅读(二)
本文主要介绍Java中,不使用XML和使用XML构建SqlSessionFactory,通过SqlSessionFactory中获取SqlSession的方法,使用SqlsessionManager管理Sqlsession复用等等..以及相关的示例代码SqlSessionSqlSessions是由SqlSessionFactory实例创建的。SqlSessionFactory对象包含创建SqlSe
liangtengyu
·
2020-11-27 23:46
java
Mybatis源码
分析(一)
准备在阅读源码前,需要先clone源码地址:https://github.com/mybatis/my...Mybatis框架使用大量常见的设计模式,学习
Mybatis源码
我们主要学习以下几点:学习大佬们的编码思想及规范学习一些传承下来的设计模式实践
liangtengyu
·
2020-11-26 13:43
java
Mybatis源码
分析(一)
准备在阅读源码前,需要先clone源码地址:https://github.com/mybatis/my...Mybatis框架使用大量常见的设计模式,学习
Mybatis源码
我们主要学习以下几点:学习大佬们的编码思想及规范学习一些传承下来的设计模式实践
liangtengyu
·
2020-11-26 13:11
java
一个mapper接口有多个mapper.xml 文件_自己手写一个Mybatis框架(简化版)
本文完成的Mybatis功能比较简单,代码还有许多需要改进的地方,大家可以结合
Mybatis源码
去动手完善。
weixin_39583623
·
2020-11-26 11:10
文件
《一本小小的
MyBatis源码
分析书》.pdf
关注“Java后端技术全栈”回复“面试”获取全套面试资料什么是MyBatis?MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis有什么优点?与JDBC相比,减少了50%以上的代码量MyBatis是最简单的持久化框架,小巧并且简单易学MyBatis灵活,不会对应用程序或者数据库的现有设计强加任何影响提供XML标签,支持编写动态SQL语句提供映射标签,支持对象与数
田维常
·
2020-11-13 17:34
电子书
mybatis
mybatis源码
分析-利用JDK动态代理分析源码-JDK动态代理在mybatis中的应用
需要你对JDK动态代理有所了解,我的另一篇文件种详细讲解了JDK动态代理源码地址:https://blog.csdn.net/qq_37391371/article/details/109460734内容:
mybatis
戒骄戒躁NB
·
2020-11-04 01:42
mybatis
java
源码
jdk动态代理
ssm
[
MyBatis源码
分析 - 日志模块]
一、日志概述 衡量软件产品的质量时,是否具备完善的日志是个非常重要的因素。开发测试阶段,需要日志帮助我们完善功能和发现bug;生产上,当出现生产问题时,又需要日志帮助我们定位问题发生现场的情况。同时,日志还是开发与运维之间的桥梁,有助于运维管理人员快速查找系统的故障和瓶颈,良好的日志在一个软件中占了非常重要的地位。 日志对于排查问题很有帮助,但不是越多越好,过多冗余的日志,不管是日志输出还是保
小胡_鸭
·
2020-11-03 23:06
MyBatis源码
阅读指南
MyBatis源码
阅读指南概要:前言整体架构学习重点学习路径总结注:文本有4301个字,预计阅读11分钟,请君耐心前言在MyBatis3.5.1这个版中有968个类、2770个字段、8422个方法、42504
鲁班大叔007
·
2020-10-29 15:04
笔记
mybatis
设计模式
java
这份
MyBatis源码
笔记助你吊打面试官!
写在前面随着手机、平板电脑等移动终端的广泛应用,移动互联网时代已经到来。在这个时代里,构建一个高效的平台并提供服务是移动互联网的基础,在众多的网站服务中,使用Java构建网站的不在少数,移动互联网的特点是大数据、高并发、对服务器往往要求分布式、高性能、高灵活等,而传统模式的Java数据库编程框架已经不在使用了。在这样的背景下,一个Java的持久框架MyBaits走入了我们的世界,它以封装少、高性能
JavaBUGa
·
2020-10-19 14:34
Java
面试
程序员
java
mybatis
spring
面试
经验分享
MyBatis源码
剖析
1.MyBatis架构原理1.1.架构设计我们把Mybatis的功能架构分为三层:API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。MyBatis和数据库的交互有两种方式:(1)使用传统的MyBatis提供的API;(2)使用Mapper代理的方式数据处理层:负责具体的SQL查找、SQL解析、SQL执行和
cyd_0619
·
2020-10-13 10:58
mybatis
java
mybatis
数据库
Mybatis源码
解析,撸起袖子就是学
Mybatis是一个很容易上手的持久层框架,相信大家在项目中或许经常用到它,最最近读了一本⽥忠波的小小的
mybatis源码
分析书之后对mybatis具有了更加深入的了解,接下来我来和大家一起解剖一下mybatis
Youcan_〇
·
2020-09-27 10:44
MyBatis面试题总结
啃下
MyBatis源码
系列目录啃下
MyBatis源码
-为什么要看
MyBatis源码
及源码结构啃下
MyBatis源码
-org.apache.ibatis.logging包源码分析啃下
MyBatis源码
-org.apache.ibatis.datasource
Java小白白又白
·
2020-09-21 21:52
MyBatis
设计模式系列之组合模式及其在JDK和
MyBatis源码
中的运用详解
源码中的运用前言组合和聚合什么是组合模式示例透明组合模式透明组合模式的缺陷安全组合模式组合模式角色组合模式在JDK源码中的体现组合模式应用场景享元模式优缺点总结前言本文主要会讲述组合模式的用法,并会结合在JDK和
MyBatis
·
2020-09-21 11:07
Mybatis源码
设计模式(装饰器模式)
装饰器模式背景定义源码说明背景写了一篇关于mybatis缓存的文章,发现里面的executor和cache都用到了装饰器模式,所以准备专门写一篇装饰器模式的文章,以cache为例定义动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活使用场景:需要扩展一个类的功能,或给一个类增加附加功能。需要动态地给一个对象增加功能,这些功能可以再动态地撤销。需要为一批的兄弟类进行改装
摆*渡*人
·
2020-09-20 16:32
设计模式
java
设计模式
mybatis
【设计模式系列14】组合模式及其在JDK和
MyBatis源码
中的运用
组合模式及其在JDK源码中的运用设计模式系列总览前言组合和聚合什么是组合模式示例透明组合模式透明组合模式的缺陷安全组合模式组合模式角色组合模式在JDK源码中的体现组合模式应用场景组合模式优缺点总结设计模式系列总览设计模式飞机票三大工厂模式登机入口策略模式登机入口委派模式登机入口模板方法模式登机入口观察者模式登机入口单例模式登机入口原型模式登机入口代理模式登机入口装饰者模式登机入口适配器模式登机入口
双子孤狼
·
2020-09-20 11:28
设计模式
组合模式
安全写法
透明写法
设计模式
java
Mybatis源码
分析之参数处理
Mybatis对参数的处理是值得推敲的,不然在使用的过程中对发生的一系列错误直接懵了。以前遇到参数绑定相关的错误我就是直接给加@param注解,也稀里糊涂地解决了,但是后来遇到了一些问题推翻了我的假设:单个参数不需要使用@param。由此产生了一个疑问,Mybatis到底是怎么处理参数的?几种常见的情景:单个参数不使用注解,基于${}和#{}的引用,基本类型和自定义对象都可以不使用注解,基于for
chengtaopai5214
·
2020-09-17 15:50
MyBatis源码
解析(一)——MyBatis初始化过程解析
转载于https://www.jianshu.com/p/7bc6d3b7fb451.准备工作为了看清楚MyBatis的整个初始化过程,先创建一个简单的Java项目,目录结构如下图所示:1.1Product产品实体类publicclassProduct{privatelongid;privateStringproductName;privateStringproductContent;privat
枫清
·
2020-09-17 03:46
Mybatis源码分析
Mybatis源码分析
Mybatis源码
解析四、SqlSession运行过程
一、SqlSession的创建过程SqlSessionFactory调用openSession()方法,该方法有很多重载形式,我们以无参方法为例。publicSqlSessionopenSession(){returnopenSessionFromDataSource(configuration.getDefaultExecutorType(),null,false);}其中ExecutorTyp
无德皇叔
·
2020-09-17 01:30
mybatis源码
学习之执行过程分析(4)——映射文件中sql的获取和sql语句的执行
mybatis源码
学习及分析之执行过程分析(4)——映射文件中sql的获取和sql语句的执行在上一篇中分析了XXXMapper接口的获取,其实质上拿到的是一个MapperProxy。
cai_cf
·
2020-09-17 01:40
框架学习
mybatis源码
MyBatis源码
解读之SqlSession
2019独角兽企业重金招聘Python工程师标准>>>1.目的通过源码分析SqlSession功能实现、如何创建以及在Spring中是如何集成的。2.SqlSession功能介绍MyBatis工作的主要Java接口,通过这些接口你可以执行命令,获取mapper和管理事务--代码注释查看大图在图中可以看到,我们操作数据库的方法都在里面。3.SqlSession具体功能实现从类图可以看到SqlSess
weixin_34252090
·
2020-09-16 19:54
java
数据库
python
myBatis源码
解析-二级缓存的实现方式
1.前言前面近一个月去写自己的mybatis框架了,对
mybatis源码
分析止步不前,此文继续前面的文章。开始分析mybatis一,二级缓存的实现。
超人小冰
·
2020-09-16 18:00
MyBatis源码
分析之装饰模式和适配器模式的应用
装饰模式的应用装饰模式:动态的为对象增加新的功能,用于代替继承,避免类型体系的快速膨胀(熟悉代码规则的应该都知道,类往上追溯父类,层级不能超过5)。装饰模式的组成:1.Component:组件接口2.ConcreteComponent:真实组件接口,对象可以被真实装饰组件动态添加新的功能3.Decorator:抽象装饰组件4.ConcreteDecorator:真实装饰组件,同时也实现组件接口,传
jian_j_z
·
2020-09-16 11:07
设计模式
MyBatis
MyBatis源码
分析之迭代器模式和组合模式的应用
迭代器模式的应用迭代器模式:又称游标模式,提供一种方法访问容器对象中的各个元素,而又不需要暴露该对象的内部实现细节,分离了集合对象的遍历行为,抽象出一个迭代器类来负责。迭代器模式的组成:1.Iterator:迭代器定义访问和遍历元素的接口。2.ConcreteIterator:具体迭代器实现迭代器接口。对该聚合遍历时跟踪当前位置。3.Aggregate:聚合定义创建相应迭代器对象的接口。4.Con
jian_j_z
·
2020-09-16 11:07
MyBatis
设计模式
MyBatis源码
分析之策略模式和模板方法模式的应用
策略模式的应用MyBatis配置文件mybatis-config.xml中的节点settings中有一项配置如下:配置的是MyBatis在运行过程中默认的执行器Executor,此项配置的默认值就是SIMPLE,指向就是接口Executor的实现类SimpleExecutor。通过查看源码可以看得到接口Executor的继承关系如下:这些实现类为接口Executor的策略簇,实现了不同的执行器策略
jian_j_z
·
2020-09-16 11:06
设计模式
MyBatis
Mybatis源码
解析——缓存
缓存装饰器Mybatis的缓存使用了装饰器模式,装饰器类与被装饰类实现相同接口且持有被装饰类的实例。如具体装饰器2—持有—>具体装饰器1—持有—>基本实现类实现一步步的增强Jdk中的IO包里使用了很多的装饰器模式,如BufferedInputstream等cache核心实现类PerpetualCache为基本实现类,底层使用HashMap进行缓存;其余实现均为装饰器类BlockingCacheFi
Mutou_ren
·
2020-09-15 22:11
mybatis
《
Mybatis源码
解析》一篇懂
1、MyBatis的架构设计以及实例分析2、Mybatis初始化机制详解3、Mybatis数据源与连接池4、MyBatis事务管理机制5、MyBatis缓存机制的设计与实现6、MyBatis的一级缓存实现详解及使用注意事项7、MyBatis的二级缓存的设计原理8、如何细粒度地控制你的MyBatis二级缓存(mybatis-enhanced-cache插件实现)9、mybatis关联查询问题(一对多
萌之兰
·
2020-09-15 20:09
mybatis
mybatis
mybatis源码
修改-实现数据源灵活切换
一、实现灵活切换数据源mybatis目前只支持单数据源配置,如果想要切换数据源的话不能够灵活的操作,因此想要修改
mybatis源码
已支持数据源灵活切换,最终使用方式如下,指定对应的数据源,mybatis
khuangliang
·
2020-09-15 19:38
mybatis
mybatis
Mybatis源码
分析之插件的原理
MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,可以使用插件来拦截的方法调用包括:Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setParameters)ResultSetHa
weixin_34418883
·
2020-09-15 12:56
【
MyBatis源码
分析】插件实现原理
MyBatis插件原理----从解析开始本文分析一下MyBatis的插件实现原理,在此之前,如果对MyBatis插件不是很熟悉的朋友,可参看此文MyBatis7:MyBatis插件及示例----打印每条SQL语句及其执行时间,本文我以一个例子说明了MyBatis插件是什么以及如何实现。由于MyBatis的插件已经深入到了MyBatis底层代码,因此要更好地使用插件,必须对插件实现原理及MyBati
weixin_33912445
·
2020-09-15 12:26
MyBatis源码
阅读——MyBatis插件原理
前言MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括。Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed)ParameterHandler(getParameterObject,setParameters)Re
爆裂码手
·
2020-09-15 11:33
Java
MyBatis源码阅读
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他