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主键自动生成的插件 默认使用雪花算法生成Id
相关的源码知道了mybatis插件的运行流程于是自己尝试着开发一个主键自动生成的插件出来这样在数据库的主键不能自动生成的时候可以不用每次都给实体类赋值注:本次开发环境为单纯的mybatis环境相信阅读过
mybatis
代码蒲蒲
·
2023-09-17 21:52
Mybatis源码
阅读(一) 配置文件的加载及查询过程
目标1、掌握MyBatis的工作流程2、掌握MyBatis的架构分层与模块划分3、掌握MyBatis缓存机制4、通过阅读
MyBatis源码
掌握MyBatis底层工作原理与设计思想首先在MyBatis启动的时候我们要去解析配置文件
源码之路
·
2023-09-16 19:27
【
Mybatis源码
分析】动态代理的使用(Javassist、CGLIB、JDK动态代理)
先说说这篇博客说得啥?本是不想写这篇博客的,因为关于Mybatis对Mapper的动态代理实现也很简单,就是使用JDK动态代理,调用其接口中的方法转到调用到sqlSession的方法上去,然后和上一篇的Mybatis查询流程源码分析串起来就可以了,顶多需要注意点Mybatis是如何处理参数的就是。但是我发现Mybatis还引入了CGLIB动态代理库,why?这我有以下几个疑问?为什么代理Mappe
假正经的小柴
·
2023-09-16 00:15
Java源码分析
mybatis
java
开发语言
【
Mybatis源码
分析】插件机制和Pagehelper插件源码分析
分页插件Pagehelper源码分析一、插件机制二、Pagehelper源码分析前文叙述过以下内容:Mybatis对动态代理的使用,一二级缓存和懒加载的原理。其中二级缓存解释了在分布式环境下可能出现缓存不一致问题,但没说解决方案。其实个人认为这种问题除非数据库集群等机制,不然个人认为一个服务大概率就对应的一个持久化层,很少会出现不一致的问题,如果有这边还是建议不使用二级缓存就是了,或者自己写个缓存
假正经的小柴
·
2023-09-16 00:11
Java源码分析
mybatis
tomcat
java
mybatis
语句标签test中0与""比较的问题
(
mybatis源码
中String类型的"",在判断中通过对String的长度判断进行赋值,而""在判断逻辑中等同于0.0D,结果为doubledv2=0.0)解决方法:1、参数类型改为String类型
qq_35285375
·
2023-09-15 04:02
《拉勾Java高薪课程》阶段一输出 之 持久层框架设计实现及
MyBatis源码
分析-学习笔记 --菜鸟小回
阶段一模块一学习笔记文章目录阶段一模块一学习笔记@[toc]一、自定义持久层框架1.JDBC问题总结:2.问题解决思路3.自定义框架设计4.实际项目目录分析5.优化5-1:将测试类方法5-2:仍存在问题:5-3:解决方式6.课后小结以及个人思考二、mybatis1.相关概念2.具体实现3、优化:2.mybatis常用标签:3.mybatis缓存3-1.缓存概念:3-2.验证一级缓存:3-3.一级缓
慧言小回
·
2023-09-10 16:47
Java进阶
拉勾
学习笔记
Java进阶
拉勾
笔记
MyBatis源码
分析(1)
1.手写持久层框架-IMybatis1.1JDBC操作数据库_问题分析JDBCAPI允许应用程序访问任何形式的表格数据,特别是存储在关系数据库中的数据代码示例:publicstaticvoidmain(String[]args){Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=
九剑领主
·
2023-09-10 16:47
mybatis
架构
MyBatis 源码分析系列文章导读
1.本文速览本篇文章是我为接下来的
MyBatis源码
分析系列文章写的一个导读文章。本篇文章从MyBatis是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说明和演示。
GarfieldEr007
·
2023-09-10 16:46
源码剖析
MyBatis
源码分析
Mybatis源码
分析(十一)Mybatis的一级缓存与二级缓存
目录一一级缓存与二级缓存二源码分析2.1CacheKey2.2一级缓存2.3二级缓存总结2.3.1为何只有SqlSession提交或关闭之后二级缓存才会生效?系列文章:文章状态时间描述(一)Mybatis基本使用已复习2022-12-14对Mybtais的基本使用,能够开发(二)Mybatis-config.xml的初始化已复习2023-02-10对我们编写的mybatis配置文件的解析(三)Sq
长安不及十里
·
2023-09-06 15:53
#
Mybatis源码分析
mybatis
缓存
java
源码分析
学习
Mybatis源码
分析之Cache二级缓存原理 (五)
一:Cache类的介绍讲解缓存之前我们需要先了解一下Cache接口以及实现MyBatis定义了一个org.apache.ibatis.cache.Cache接口作为其Cache提供者的SPI(ServiceProviderInterface),所有的MyBatis内部的Cache缓存,都应该实现这一接口Cache的实现类中,Cache有不同的功能,每个功能独立,互不影响,则对于不同的Cache功能
Java码农那些事
·
2023-09-06 15:49
Mybatis源码
分析(6)之SQL执行流程
一、前言我们进行一个mybatis框架的基础代码可以如下:@Testpublicvoidtest2()throwsIOException{Stringresource="mybatis-config.xml";InputStreaminputStream=Resources.getResourceAsStream(resource);SqlSessionFactorysqlSessionFacto
技术路上的苦行僧
·
2023-09-06 15:48
Mybatis源码解析
java
mybatis源码分析
sql执行流程分析
mybatis一二级缓存
【
Mybatis源码
分析】Mybatis查询流程(一级、二级缓存、懒加载原理)
Mybatis提供的三种Executor执行器一、查询流程二、查询流程总结三、一级、二级缓存四、懒加载源码分析一、查询流程在讲述Mybatis为我们提供的三种Executor执行器策略之前,先说说默认情况下Mybatis的执行流程。以下是准备调试的代码:id,name,age,sexselectfromt_person@TestpublicvoidtestExecutor()throwsSQLEx
假正经的小柴
·
2023-09-06 15:17
Java源码分析
mybatis
java
tomcat
mybatis源码
学习-1-调试环境
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.依赖工具MavenGitIdea2.源码拉取从官方仓库https://github.com/m
JiuYou2020
·
2023-09-05 03:29
mybatis
学习
mybatis源码
学习-2-项目结构
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.概述本文主要分享MyBatis的项目结构。希望通过本文能让胖友对MyBatis的整体项目有个简
JiuYou2020
·
2023-09-05 03:29
mybatis
学习
tomcat
mybatis源码
学习-3-解析器模块
写在前面,这里会有很多借鉴的内容,有以下三个原因本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误的地方,观看他人的体会能有效改善这个问题1.目录结构XNode类:作用:XNode类表示XML文档中的一个节点(Element或Node)
JiuYou2020
·
2023-09-05 02:28
mybatis
学习
tomcat
Mybatis源码
解析(八):Mapper代理原理
Mybatis源码
系列文章手写源码(了解源码整体流程及重要组件)
Mybatis源码
解析(一):环境搭建
Mybatis源码
解析(二):全局配置文件的解析
Mybatis源码
解析(三):映射配置文件的解析
Mybatis
冬天vs不冷
·
2023-09-02 13:11
mybatis
mybatis
java
Spring源码解析(十):spring整合
mybatis源码
Spring源码系列文章Spring源码解析(一):环境搭建Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径beanSpring源码解析(三):bean容器的刷新Spring源码解析(四):单例bean的创建流程Spring源码解析(五):循环依赖Spring源码解析(六):bean工厂后置处理器ConfigurationClassPostProcessorSpring源
冬天vs不冷
·
2023-09-02 13:09
spring
spring
mybatis
java
Mybatis源码
解析:JavaBean与xml互转的方法详解
}}###2、简单类型 (1)单实体类转换packagecom.guor.demo.beanToXml;importjava.util.Date;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.X
web苍南县
·
2023-08-30 13:43
程序员
后端
java
面试
Mybatis源码
解析(三)------SqlSession
Mybatis源码
解析(三)------SqlSession序言SqlSession接口SqlSession的实现类DefaultSqlSessionSelect获取Statement查询序言Mybatis
小小的人儿居然已存在
·
2023-08-27 11:49
#
mybaits
mybatis
tomcat
java
Mybatis源码
分析(一)解析配置文件保存到Configuration类中
一、导读与猜想在开始分析Mybatis的源码之前,我们不妨来猜想一下,Mybatis是如设计的?使用过Mybatis框架都知道,使用Mybatis的过程大致经历如下步骤:创建一张表t_people创建一个实体People创建PeopleMapper接口创建PeopleMapper.xml文件创建mybatis-config.xml配置文件,里面配置数据库连接信息(dbUrl、user、passwo
小尾巴1024
·
2023-08-27 02:01
2.6、
mybatis源码
分析之初始化过程(1)
但是前面部分的内容是基础,了解了前面基础组件部分的内容,在跟着流程去看源码,就不会云里雾里了,如果不看前面的基础,蒙着头往
mybatis源码
里面去撞,基本会迷路摸不清方向。
小manong
·
2023-08-25 18:34
【
Mybatis源码
分析】动态标签的底层原理,DynamicSqlSource源码分析
DynamicSqlSource源码分析一、DynamicSqlSource源码分析DynamicContext源码分析SqlNode源码分析(动态SQL标签)Mybatis动态SQL标签举例、调试SqlNode源码分析MixedSqlNodeIfSqlNodeWhereSqlNode、SetSqlNode、TrimSqlNodeStaticTextSqlNodeSqlSourceBuilder中
假正经的小柴
·
2023-08-25 08:07
Java源码分析
mybatis
java
数据库
代码规范
【
Mybatis源码
分析】Mybatis 是如何实现预编译的?
Mybatis是如何实现预编译的?一、前言二、源码分析三、总结一、前言在介绍Mybatis是如何实现预编译之前,需提前知道俩个预备知识:MySQL的运行流程(对应的SQL会成为一个文本-》查询缓存(8.0后没了)-》解析器(解析SQL,对SQL进行预处理,也就是判断语法等操作)-》查询优化(比如底层的索引优化,如所用联合索引的顺序调换优化查询等等)-》执行SQL,从存储引擎中得到数据后返回)。My
假正经的小柴
·
2023-08-25 08:06
Java源码分析
mybatis
tomcat
java
Mybatis源码
分析(一)Mybatis的架构设计简介
一、前言撸完Spring框架,我们接着下一个征程,Mybatis。相对Spring而言,Mybatis就显得短小精悍。在本系列源码开始之前,我们先来一起了解下Mybatis的相关知识点。二、什么是MyBatis?MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或
清幽之地
·
2023-08-24 03:41
java中set集合的交集、并集、差集
差集集合关系示例图示例代码publicstaticvoidcontextLoads(){Lista=Arrays.asList("深入理解Java虚拟机","TCP协议","Spring源码解读","
Mybatis
大王1024
·
2023-08-23 21:36
java
经验总结
java
集合
Mybatis报错java.sql.SQLException: Column ‘IS_GENERATEDCOLUMN‘ not found
跟踪
Mybatis源码
,可以发现在类方法DatabaseIntrospector#getColumns中抛出异常,问题在introspectedColumn.setGeneratedColu
0xwang
·
2023-08-23 17:58
mybatis
java
开发语言
Mybatis源码
-XXXmapper.xml中的select|insert|update|delete标签解析过程
Mybatis源码
-XXXmapper.xml中的select|insert|update|delete标签解析过程前提:上次讲过一篇《
Mybatis源码
-XXXmapper.xml中的resultMap
QiuRiMangCao
·
2023-08-22 00:17
MyBatis源码
解析
MyBatis执行流程:1.ExecutorExecutor是MyBatis的核心接口之一,其中定义了数据库操作的基本方法。在实际应用中经常涉及的SqISession接口的功能,都是基于Executor接口实现的。BaseExecutor是一个实现了Executor接口的抽象类,它实现了Executor接口的大部分方法。BaseExecutor中主要提供了缓存管理和事务管理的基本功能,继承Base
Javaesandyou
·
2023-08-22 00:16
缓存
数据库
java
MyBatis源码
程序人生
【
Mybatis源码
分析】解析语句标签_Select|Update|Insert|Delete
解析语句标签Select|Update|Insert|Delete一、前言二、语句标签的源码分析三、sql标签的解析四、总结一、前言在阐述解析语句标签之前,得先知道我们的语句标签内容最后被封装到Configuration哪?(都应该知道Mybatis通过的是XMLConfigBuilder去解析xml然后封装到Configuration对象中传递给SqlSessionFactory去往下执行)。而
假正经的小柴
·
2023-08-22 00:15
Java源码分析
mybatis
windows
tomcat
Mybatis 使用的 9 种设计模式,真是太有用了
Builder模式2、工厂模式3、单例模式4、代理模式5、组合模式6、模板方法模式7、适配器模式8、装饰者模式9、迭代器模式虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis
Java后端架构猛猛
·
2023-08-21 08:49
java
设计模式
Mybatis的SqlSource & SqlNode & BoundSql
学习链接MyBatisSqlSource解析【Mybatis】
Mybatis源码
之SqlSource#getBoundSql获取预编译SQLMybatis中SqlSource解析流程详解MybatisTypeHandler
ps酷教程
·
2023-08-19 17:30
#
mybatis
mybatis
Mybatis源码
学习(十二):拦截器(结束篇)
一、前文回顾在前几篇文章中我们学习了Mybatis中的一级二级缓存。今天将要开始一个新的模块也是本系列的最后一个模块了,拦截器。二、拦截器和过滤器提到拦截器我们会很自然的联想到和他功能很相似的过滤器,在讲解Mybatis拦截器之前,我们有必要先简单的比较一下这两者。过滤器(Filter):它依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能
你可以叫我仔哥呀
·
2023-08-15 21:41
Mybatis源码学习
mybatis
学习
java
java.sql.Time 字段时区问题 Jackson 源码分析 意想不到的Time处理类
java.sql.Time字段时区问题系列文章目录第一章初步分析第二章
Mybatis源码
分析第三章Jackson源码分析意想不到的Time处理类文章目录java.sql.Time字段时区问题系列文章目录前言
来瓶小白干Oo
·
2023-08-14 14:36
学习
框架
Spring
java
Jackson
MyBatis源码
解析&手写持久层框架
1.手写持久层框架1.1JDBC操作数据库_问题分析JDBCAPI允许应用程序访问任何形式的表格数据,特别是存储在关系数据库中的数据代码示例:publicstaticvoidmain(String[]args){Connectionconnection=null;PreparedStatementpreparedStatement=null;ResultSetresultSet=null;try{
Allen-xs
·
2023-08-13 03:53
源码分析
mybatis
【Mybatis】调试查看执行的 SQL 语句
1.问题场景:记录日常开发过程中Mybatis调试SQL语句,想要查看Mybatis中执行的SQL语句,导致定位问题困难2.解决方式双击shift找到
mybatis源码
中的MappedStatement
小星星*
·
2023-08-11 02:10
mybatis
sql
java
Mybatis源码
之代理Proxy设计模式
JAVA设计模式分为创建型、行为型与结构型三类设计模式,代理模式与适配器、装饰器、组合模式、外观模式等7种都属于结构型设计模式。一、基本定义与组成代理模式提供一个实际的目标代理对象,方便在完成被控制目标对象相同功能的基础上,附加实现其他功能,如在完成功能实现的同时,提供参数检查、日志记录、权限验证等非主线操作。注意:代理模式与装饰器模式的主要区别在于代理模式提供完全相同的接口,而装饰器模式增强了接
明月照我行
·
2023-08-10 10:34
MyBatis源码
解析 - 反射模块
MyBatis源码
解析-反射模块1.前言该模块位于org.apache.ibatis.reflection包中,MyBatis在进行参数处理、结果映射等操作时,会涉及大量的反射操作。
janker0718
·
2023-08-06 12:06
Mybatis 的设计模式(源码文章)
虽然我们都知道有20多个设计模式,但是大多停留在概念层面,真实开发中很少遇到,
Mybatis源码
中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
农哥小鹏
·
2023-08-06 02:17
搞懂这些框架源码,带你吊打面试官
这些资料包括:讲解视频+电子书『视频截图(部分)』☟▲spring和
mybatis源码
深度解析▲JDK动态代理▲征服P7面试的主流框架源码资料详情如下需要资料的小伙伴,关注+转发+企鹅裙815220368
冯匿
·
2023-08-04 18:24
Cappuccino的第53杯咖啡——
Mybatis源码
分析
Mybatis源码
分析
Mybatis源码
分析入口1.读取配置文件总结2.解析配置文件核心代码(一)核心代码(二)分析parse()方法分析build()方法总结3.获取SqlSession总结4.获取mapper
Mr. Cappuccino
·
2023-08-03 00:16
mybatis
mr
mybatis
tomcat
Netty走进网络之起航篇
开篇感言之前我已经总结了关于定时任务相关的Quartz和数据库结果封装相关的
MyBatis源码
,从两个领域去了解知识碎片。接下来,我将从Netty走进另一个领域——网络。
向光奔跑_
·
2023-08-01 22:49
jdk11环境 提示“因为 accessExternalDTD 属性设置的限制导致不允许 ‘http‘ 访问“bug
在运行
mybatis源码
的时候,提示一下错误:Exceptioninthread"main"org.apache.ibatis.exceptions.PersistenceException:###ErrorbuildingSqlSession
改改改不完的Bug......
·
2023-07-29 18:06
源码
问题
mybatis
【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)
文章目录案例引入介绍基本介绍类图出场角色案例实现案例一类图代码实现案例二类图代码实现外观模式在
Mybatis源码
中的应用总结文章说明案例引入在家庭影院中,要享受一场电影,需要如下步骤:直接用遥控器:统筹各设备开关开爆米花机放下屏幕开投影仪开音响开
Hello Dam
·
2023-07-29 18:27
设计模式
学习
笔记
MyBatis源码
分析_ResultSetHandler(7)
目录1.传统JDBC2.Mybatis访问数据库2.1Statement访问数据库2.2火枪手ResultSetHandler出现3.ResultSetHandler处理结果集3.1首先就是进入handleResultSets方法3.2handleResultSet方法根据映射规则(resultMap)对结果集进行转化3.3handleRowValuesForSimpleResultMap方法对行
chen_yao_kerr
·
2023-07-29 02:46
Mybatis
mybatis
java
servlet
「问题」如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题
1、问题mybatis中的自己写的判断方法,若参数buildingType=0,则不会进入到方法中anda.building_type=#{searchForm.buildingType}2、原因
mybatis
技术路上的探险家
·
2023-07-28 21:45
JAVA
mybatis
java
开发语言
Mybatis源码
剖析之Mybatis执行流程(proxy 代理)
预读Mybatis在设计上,分为三层:接口层,数据处理层,框架支持层在接口层中,分为传统模式:通过sqlSession+statementId。接口代理模式:sqlSession+mapper接口准备-->-->-->-->-->Mybatis执行流程(proxy代理)proxy代理的方式创建代理对象,通过代理对象调用,执行invocationHandler的invoke方法,本质上还是通过exe
白鸽呀
·
2023-07-27 16:39
Mybatis源码
Java源码
Mybatis
java
代理模式
Mybatis源码
Mybatis源码
剖析之Mybatis执行流程(传统方式)
预读Mybatis在设计上,分为三层:接口层,数据处理层,框架支持层在接口层中,分为传统模式:通过sqlSession+statementId。接口代理模式:sqlSession+mapper接口准备userMapper.xmlmybatis核心配置文件-->-->-->-->-->Mybatis传统方式执行流程1、通过classLoader读取核心配置文件为输入流注意:只要是流,底层就是数组,那
白鸽呀
·
2023-07-27 16:39
Mybatis源码
Java源码
Mybatis
java
maven
Mybatis源码
Mybatis源码
剖析之插件interceptor执行原理
预读mybatis通过插件对(Executor、StatementHandler、ParameterHandler、ResultSetHandler)这四个核心对象创建代理进行拦截对mybatis来说插件就是拦截器,用来增强核心对象的功能,增强功能本质上是借助于底层的动态代理实现的,换句话说,MyBatis中的四大对象都是代理对象Mybatis核心对象介绍MyBatis的主要的核心部件有以下几个:
白鸽呀
·
2023-07-27 16:09
Mybatis源码
Java源码
Mybatis
java
Mybatis源码
Mybatis源码
剖析之二级缓存
序言mybatis默认开启一级缓存,一级缓存存在于Executor中,而executor存在于sqlSession中,因此一级缓存可以当作在sqlSession生命周期中。与一级缓存不同,二级缓存和具体的命名空间绑定,一个Mapper中有一个Cache,相同Mapper中的MappedStatement共用一个Cache,一级缓存则是和SqlSession绑定。准备启用二级缓存1、开启全局二级缓存
白鸽呀
·
2023-07-27 16:08
Mybatis源码
Java源码
Mybatis
缓存
java
Mybatis源码
Mybatis源码
剖析(一)
Mybatis源码
剖析(一)传统方式源码剖析:源码剖析-初始化InputStreaminputStream=Resources.getResourceAsStream("mybatis-config.xml
痛冕
·
2023-07-27 16:37
mybatis
java
上一页
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
其他