Cause: java.sql.SQLSyntaxErrorException: Unknown column 'itlezhi' in 'where clause' 好久之...
Cause: java.sql.SQLSyntaxErrorException: Unknown column 'itlezhi' in 'where clause' 好久之...
上一篇文章分析了mapper注解关键类MapperAnnotationBuilder,今天来看mapper的项目了解析关键类XMLMapperBuilder。 基础介绍 ...
上一篇文章分析发现解读mapper关键是两个类MapperAnnotationBuilder和XMLMapperBuilder,今天先来看MapperAnnotationBu...
今天来分析Configuration初始化的最后一部分mapper的加载。 加载方法mapperElement XMLConfigBuilder配置Configuratio...
上一篇梳理了Configuration初始化分析,今天继续typeHandlers部分。 数据库厂商标识 接上一篇文章分析,下一个解析的是databaseIdProvide...
上一篇介绍了Configuration的properties和settings,接下来继续。 设置别名 别名也是mybatis中最重要的配置之一,可以通过很简单的一个字符...
上一篇介绍了Configuration的属性,今天就看看属性的设置过程。 回顾 前面两篇文章最后都讲到最后是通过parse方法调用的parseConfiguration来设...
上一篇介绍了mybatis中SqlSessionFactory的创建过程,今天来学习它默认实现中的唯一属性Configuration。 回顾 还是最开始的mybatis源...
上一篇介绍了mybatis源码环境的搭建,今天就来开始看源码。 mybatis执行主要流程 上一篇文章中介绍的mybatis源码环境中的测试代码如下图: 可以看到可myb...
mybatis作为现在Java程序员必备技能,怎么能不去读他的源码,今天就先来搭建源码环境。 主要流程 mybatis源码环境搭建还是比较简单的,只需要两步就能完成,下载源...
今天通过前面两篇的学习,已经对跳表有了基础的认识,那么接下来就来学以他为基础的并发集合ConcurrentSkipListMap。 ConcurrentSkipListM...
前一篇文章学习了跳表的原理,今天就来用Java来实现它。 跳表原理回顾 上一篇总结的最终跳表的结构如下图: 整体来看像是一个由节点组成的网,每个节点有下节点和右节点,最右的没...
前面学习很多类的源码过程中,底层基本都是数组和链表,今天学习第三种结构跳表(SkipList)。 跳表解决的问题 一个有序的数组如果我们要判断一个数据是否存在可以通过二分查...
今天来学习Java中支持并发的链表队列ConcurrentLinkedQueue。 ConcurrentLinkedQueue特点 重点说在前面,先直接说根据源码总结出来的重...
CopyOnWrite集合还是比较简单的,这里做一个简单的介绍。 基础概念 CopyOnWrite翻译过来就是在写的时候才复制,写入时复制是计算机程序设计领域中的一种优化...
ConcurrentHashMap是面试的重点,尤其是jdk7与8的对比,这里进行总结对比学习。 总结对比图 直接上jdk7与jdk8对ConcurrentHashMap底...
今前面已经学习了主要的阻塞队列,今天对它们整体来一次梳理。 类总结图 先看下所有阻塞队列类在类图中的位置和继承结构,常见阻塞队列如下图: 上图已经把前面总结的阻塞队列的继承...
今天学习阻塞队列中的最后一个类LinkedBlockingDeque。 LinkedBlockingDeque简介 LinkedBlockingDeque与LinkedBl...
LinkedTransferQueue在某些实现可以看作是ConcurrentLinkedQueue、SynchronousQueue、LinkedBlockingQueue...
今天学习一个比较特别的队列SynchronousQueue,直译过来叫同步队列,可用于线程间交换数据却不用存储数据。 功能说明 要理解SynchronousQueue首先就...