
mybatis
文章平均质量分 81
了解和学习mybatis
小董亮出你的8块腹肌吧!
专注后端技术分享!!!
展开
-
mybatis学习文章系列(偏源码)
写在前面建议按照顺序依次阅读,遇到不熟悉的功能点,最好能亲自动手实践,然后还有3件重要的事情一定要做:第一件事情是debug,第二件事情是debug,第三件事情是debug。文章系列Git通过tag创建分支并推送到远程下载mybatis源码可能使用到。mybatis基础学习不会使用的话,具体源码看起来不会特别清晰。mybatis之解析mybatis-config全局配置文件过程分析先把mybatis的整体流程串起来。...原创 2021-07-12 15:13:17 · 834 阅读 · 0 评论 -
mybatis之执行器Executor
写在前面在这篇文章中分析了执行一个数据操作的时候,会话对象会调用执行器的API来执行操作,但是对于执行器并没有详细分析,这篇文章作为补充,来看下mybatis都提供了哪些类型的执行器,以及其各自提供的功能都是什么。想要系统学习的,可以参考这篇文章,重要!!!。...原创 2021-09-22 22:09:46 · 885 阅读 · 0 评论 -
mybatis之事务抽象
1:相关类原创 2021-09-04 09:38:33 · 362 阅读 · 0 评论 -
mybatis之spring对事务的处理
写在前面这里这篇文章分析了spring封装mybaits的SqlSession的org.mybatis.spring.SqlSessionTemplate对象,但是其中事务相关内容并没有深入探究,本文作为补充来看下。原创 2021-09-03 16:52:18 · 506 阅读 · 0 评论 -
mybatis之通过SqlSessionTemplate解决每次都要openSession问题
写在前面在上篇文章中我们分析了在spring中mybatis的初始化过程,本片文章分析spring对于mybatis的org.apache.ibatis.session.SqlSession的封装,在直接使用mybatis时,因为SqlSession本身是非线程安装的,因此每次都需要通过openSession方法打开一个新的会话,这个过程模拟代码可能如下:@Testpublicvoid multiInsertByQueryParamter() { // 假设用户A接口调用导致的数据库执行原创 2021-09-03 15:30:46 · 1492 阅读 · 0 评论 -
mybatis之依赖于spring初始化过程分析
写在前面通过这里文章我们分析了mybatis自身的初始化等相关内容,其中有加载全局配置文件->加载全局配置文件中的mappers信息->加载mapper文件中的stament等初始化相关流程,对应的主要类的初始化为“通过全局配置文件创建SqlSessionFactory->通过openSesion创建SqlSession”,之后就可以通过SqlSession创建Mapper进行数据库操作了,当和spring整合之后,初始化依然是这些内容,创建的也依然是这些类,只不过配置的方式稍有改变,加原创 2021-09-01 17:07:20 · 488 阅读 · 0 评论 -
mybaits之自定义分页插件
写在前面本文在这篇文章基础上分析,作为一个实例。想要系统学习的,可以参考这篇文章,重要!!!。原创 2021-08-31 16:56:59 · 213 阅读 · 0 评论 -
mybatis之插件分析
写在前面一个框架之所以优秀,除了本身提供的强大的既有功能之外,还会允许使用根据自己特定的需求和业务场景来进行扩展,mybatis同样提供了这样的功能,是通过插件功能来实现的,对应的是org.apache.ibatis.plugin包,如下图:其中org.apache.ibatis.plugin.Interceptor是插件对应的接口,源码如下:org.apache.ibatis.plugin.Interceptorpublic interface Interceptor { // 执行拦截的方原创 2021-08-30 17:30:46 · 1327 阅读 · 0 评论 -
mybatis之通过KeyGenerator生成主键
写在前面在这篇文章中分析了数据查询和插入的过程,其中在插入过程分析中,涉及了org.apache.ibatis.executor.keygen,KeyGenerator主键生成器,但是并没有详细讲解,本文作为补充,分析此处。想要系统学习的,可以参考这篇文章,重要!!!。...原创 2021-08-28 09:53:52 · 3410 阅读 · 0 评论 -
mybatis之关联对象延迟加载
写在前面本文接这篇文章,分析其中非基础数据类型的属性,存在嵌套查询时延迟加载的场景中mybatis是如何通过CGLIB动态代理来实现的。想要系统学习的,可以参考这篇文章,重要!!!。原创 2021-08-25 11:27:52 · 263 阅读 · 0 评论 -
mybatis之执行sql语句
写在前面通过这篇文章的分析,已经生成了可以执行的sql语句了,本文来分析SQL语句具体的执行过程。想要系统学习的,可以参考这篇文章,重要!!!。原创 2021-08-19 16:08:35 · 4401 阅读 · 0 评论 -
mybaits之生成可执行SQL语句
写在前面本文主要是分析一个MappedStatement是如何生成最终的sql语句的,其中会涉及到动态SQL语句的解析,关于这部分的内容可以参考这篇文章。想要系统学习的,可以参考这篇文章,重要!!!。...原创 2021-08-19 11:12:57 · 1267 阅读 · 0 评论 -
mybatis之动态sql语句解析
写在前面本文在这篇文章基础上进行分析,详细解析sql语句相关的解析工作。原创 2021-08-16 14:11:46 · 1344 阅读 · 0 评论 -
mybatis之注解配置的解析过程分析
mybatis原创 2021-08-10 17:39:39 · 558 阅读 · 0 评论 -
mybatis基础学习1
写在前面接这篇文章。原创 2021-08-05 14:09:58 · 382 阅读 · 0 评论 -
mybatis之解析statement标签过程分析
顶顶顶顶原创 2021-07-30 15:28:32 · 1576 阅读 · 0 评论 -
mybatis之全局配置文件<mappers>标签解析
三生三世原创 2021-07-15 17:49:01 · 835 阅读 · 1 评论 -
mybatis之解析mybatis-config全局配置文件过程分析
1:测试环境准备在这篇文章基础上进行分析。2:分析入口org.apache.ibatis.session.SqlSessionFactoryBuilder#build(java.io.InputStream, java.lang.String, java.util.Properties)。我们就从这里开始分析。这里贴下测试代码:private TestTypehandlerMapper testTypehandlerMapper;private SqlSession sqlSession;@B原创 2021-07-06 16:25:44 · 503 阅读 · 0 评论 -
mybatis基础学习
1:typeAliases别名当我们在mapper的xml文件中编写statement的时候,会通过resultType指定返回类型,通过parameterType指定参数的类型,正常的都是需要些类的全限定类名称,但是一般的类的全限定名称都是比较长的,这样就会造成文件的过渡冗余配置,比如下面的配置:<select id="queryByXxx" resultType="foo.bar.MyObj"> select ... from ... where ...</select>原创 2021-07-05 10:02:15 · 690 阅读 · 0 评论