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源码专题学习
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
河北省邯郸分行机关第二党支部开展深入学习十九大精神系列活动
为深入学习贯彻党的十九大报告精神,领会新时代中国特色社会主义思想内涵,10月31日,邯郸分行机关第二党支部召开支部党员大会,进行了党的十九大
专题学习
。
Shirleyyyyyyyy
·
2020-07-09 03:42
概率统计基础(四): 方差分析
这次概率统计学习基于:Datawhale概率统计组队学习文档1.写在前面这次借着在Datawhale组织的概率统计
专题学习
的机会再重新温习一遍数学基础,所谓机器学习和深度学习,背后的逻辑都是数学,所以数学基础在这个领域非常关键
Miracle8070
·
2020-07-09 01:49
数学基础
概率统计
方差分析
单因素方差分析
双因素方差分析
概率统计基础(三):常见分布与假设检验
这次概率统计学习基于:Datawhale概率统计组队学习文档1.写在前面这次借着在Datawhale组织的概率统计
专题学习
的机会再重新温习一遍数学基础,所谓机器学习和深度学习,背后的逻辑都是数学,所以数学基础在这个领域非常关键
Miracle8070
·
2020-07-09 01:49
数学基础
概率统计
常见分布
假设检验
十年老架构师神级推荐,
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
学院举行“砥砺奋进 乘势而上 努力创建中国特色社会主义一流民办大学”
专题学习
报告
2018年1月3日,在图书馆报告厅,举行了全院教职工培训会,学院董事长王思迪发表了题为《砥砺奋进乘势而上——努力创建中国特色社会主义一流民办大学》
专题学习
报告。
长春理工大学光电信息学院
·
2020-07-08 06:25
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
谈《末世论》里对于聖多玛斯理论的三个曲解(对于「普及神学教材系列」之《末世论》的质疑)
确实可以看到,这套教材在中国各地引发了学习热忱,特别是在不少被中国教会熟知的微信等网络平台中开展了
专题学习
及交流,并取得了一定成效。
银色地平线
·
2020-07-07 22:34
深入
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
Mybatis源码
-cursor(游标)
今天学习一下cursor包的下源码,了解mybatis大致游标实现目录1、Cursor(游标接口类)1.1源码1.2总结2、DefaultCursor(默认游标实现类)2.1、源码2.2、总结1、Cursor(游标接口类)1.1源码/***Copyright2009-2019theoriginalauthororauthors.**LicensedundertheApacheLicense,Ver
往前的娘娘
·
2020-07-07 16:26
mybatis源码
MyBatis源码
Mybatis源码
学习-MapperMethod
MapperMethod是代理方式的实际执行类,JDK动态代理调用的invoke方法,实际是转发到了MapperMethod的execute方法,参考源码如下:publicObjectinvoke(Objectproxy,Methodmethod,Object[]args)throwsThrowable{if(Object.class.equals(method.getDeclaringClass
Lescarmon
·
2020-07-07 13:10
深入
Mybatis源码
——配置解析
@目录前言正文配置解析1.cacheRefElement/cacheElement2.resultMapElements3.sqlElement4.buildStatementFromContext总结前言上一篇分析了Mybatis的基础组件,Mybatis的运行调用就是建立在这些基础组件之上的,那它的执行原理又是怎样的呢?在往下之前不妨先思考下如果是你会怎么实现。正文熟悉Mybatis的都知道,
夜勿语
·
2020-07-07 12:00
mybatis查询mysql的datetime类型数据时间差问题
现在开始调试
mybatis源码
,调试到mysql-connector-java-6.0.4.jar包的com.mysql.c
hechurui
·
2020-07-07 09:09
mysql
电影人“论剑“中国电影新力量论坛 关晓彤王俊凯鹿晗等出席
11月26日至27日,由国家新闻出版广电总局电影局主办,中国电影艺术研究中心、中共浙江省委宣传部、浙江省新闻出版广电局、杭州市西湖区人民政府和电影频道节目中心承办的“青年电影创作人员
专题学习
座谈会”青年电影创作人员
专题学习
座谈会暨
奋斗的小愤青
·
2020-07-07 04:44
Mybatis源码
之连接池原理实现探究
CommonDataSource数据池的定义是在jdk库中,是对数据源概念的抽象顶层,指定了数据源必须实现的方法。一、非线程池实现方式:UnpooledDataSource概述一下其链接的过程如下图:如何创建一个连接:二、线程池方式维护链接:使用线程池可以减少频繁创建、销毁线程带来的性能损害。通过配置各种参数保证系统在实际的应用中有更好的负载和性能之间获得更好的实践。Mybatis提供了一个简单的
adeyi
·
2020-07-07 02:18
java
框架
java源码
Mybatis
SpringBoot
专题学习
Part16:SpringBoot实现国际化语言切换功能(i18n)
国际化是什么听起来很高大上的国际化其实就是通过浏览器的语言信息来动态显示国际化效果通俗来说就是点击中文按钮的时候显示中文点击英文按钮的时候显示英文(当然还支持其它语言国际化的实现步骤:1)、编写国际化配置文件2)、使用ResourceBundleMessageSource管理国际化资源文件3)、在页面取出国际化内容在SpringBoot内部已经实现了第2步和第3步它的底层已经配置好了因此只须编写国
Piconjo_Official
·
2020-07-06 23:52
框架
SpringBoot-Mybatis通用mapper使用
mybatis是一个很好用的工具,但是编写mapper是一件很麻烦的事,自mybatis3.0开始可以使用注解的方式,极大的简化了xml的编写量,本地想看看
mybatis源码
,自己扩展写一个工具,在阅读源码过程中发现一个通用
ZenMonk
·
2020-07-06 21:46
财务部李玲6.4--6.10周检视及6.11-6.17周计划
6.4-6.10周检视一、工作方面1,本职工作基本完成,效率有待提高,工作过程中有拖延现象,下周要把每项工作都严格规定起始时间2,完成本周财务
专题学习
并编制,刚开始想形成体系,到目前能力达不到,只能先学习编制一些常见问题
liling91
·
2020-07-06 19:09
Mybatis源码
初探——优雅精良的骨架
@目录前言精良的Mybatis骨架宏观设计基础支撑日志日志的加载日志的使用数据源数据源的创建池化技术原理数据结构获取连接回收连接缓存缓存的实现CacheKey反射总结前言Mybatis是一款半自动的ORM框架,是目前国内Javaweb开发的主流ORM框架,因此作为一名开发者非常有必要掌握其实现原理,才能更好的解决我们开发中遇到的问题;同时,Mybatis的架构和源码也是很优雅的,使用了大量的设计模
夜勿语
·
2020-07-06 17:00
2017年度计划
上面刷题,每周刷至少10题,并写出博客进行分享读完《大话数据结构》,并理解数据结构和算法继续深入学习实践java多线程、IO、集合、JVM虚拟机了解服务器JVM参数调优和Tomcat调优,并进行实战熟读
mybatis
端木轩
·
2020-07-06 15:28
Mybatis源码
(五)
6、SimpleExecutor.doQuery()1)创建StatementHandler在configuration.newStatementHandler()中,new一个newStatementHandler,先得到RoutingStatementHandler。RoutingStatementHandler里面没有任何的实现,使用来创建基本的StatementHandler的。这里会根据
snail灬
·
2020-07-06 15:00
Mybatis源码
(四)
四、执行SQLUseruser=mapper.selectUser(1);由于Mapper都是JDK动态代理对象,所以任意的方法都是执行触发管理类MapperProxy的invoke()方法。QA:1.引入MapperProxy为了解决什么问题?硬编码和编译时检查问题。他需要做的事情是:根据方法查找statementID的问题。2.进入到invoke方法的时候做了什么事情?他是怎么找到我们要执行的
snail灬
·
2020-07-06 14:00
Mybatis源码
(三)
三、获取Mapper对象在老的版本中,DefaultSqlSession的selectOne()方法可以直接根据Mapper.xml中的StatementID,找到SQL执行。但是这种方法属于硬编码,不以查找和修改。并且如果是参数传入错误,在编译阶段也是不会报错的,不利于提前发现问题。Useruser=(User)session.selectOne("com.xx.mapper.UserMappe
snail灬
·
2020-07-06 14:00
Mybatis源码
(二)
程序每一次操作数据库,都需要创建一个会话,我们用openSession()方法来创建。SqlSessionsession=sqlSessionFactory.openSession();这里的sqlSessionFactory用到的是默认实现类,在openSessionFromDataSource()方法中创建。privateSqlSessionopenSessionFromDataSource(
snail灬
·
2020-07-06 14:00
上一页
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
其他