![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码
文章平均质量分 80
-ztp
温柔常伴
展开
-
【MyBatis源码分析】mappers解析属性配置元素详述
mapper加载config.xml中两个最重要的标签,一个是<environment>(JDBC环境信息),另一个就是mapper(sql文件映射)了。Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏:从上图可以看出,映射文件是以<mapper&g...原创 2018-01-17 16:33:59 · 532 阅读 · 0 评论 -
【MyBatis源码分析】settings解析属性配置元素详述
首先看settingsAsPropertiess(root.evalNode("settings"))这句代码,显而易见这句话获取了下的节点。跟一下代码的实现:private Properties settingsAsPropertiess(XNode context) { if (context == null) { return new Properties();原创 2018-01-13 14:49:22 · 771 阅读 · 0 评论 -
【MyBatis源码分析】objectFactory解析属性配置元素详述
objectFactory解析、那么,接下来,就简单介绍一下这几个配置的作用吧:1、objectFactory是干什么的? 需要配置吗? MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。默认情况下原创 2018-01-17 14:43:47 · 322 阅读 · 0 评论 -
【MyBatis源码分析】plugins解析属性配置元素详述
Plugins解析、plugin有何作用? 需要配置吗? plugins 是一个可选配置。mybatis中的plugin其实就是个interceptor, 它可以拦截Executor 、ParameterHandler 、ResultSetHandler 、StatementHandler 的部分方法,处理我们自己的逻辑。Executor就是真正执行sql语句的东西, Param原创 2018-01-13 16:13:07 · 1012 阅读 · 0 评论 -
【MyBatis源码分析】TypeHandler解析属性配置元素详述及相关枚举使用高级进阶
TypeHandler解析接着看一下typeHandlerElement(root.evalNode("typeHandlers"));方法,这句读取的是<configuration>下的<typeHandlers>节点,代码实现为:private void typeHandlerElement(XNode parent) throws Exception { if...原创 2018-01-09 19:02:39 · 768 阅读 · 1 评论 -
String、StringBuffer、与StringBuilder的区别
相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~ String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,fianl的话是改变不了的,所以,如果我们用String来操作字符串的时候,一旦我们字符串原创 2017-02-03 15:27:16 · 826 阅读 · 0 评论 -
【Java1.7.5集合源码剖析】Vector源码剖析
Vector简介 Vector也是基于数组实现的,是一个动态数组,其容量能自动增长。 Vector是JDK1.0引入了,它的很多实现方法都加入了同步语句,因此是线程安全的(其实也只是相对安全,有些时候还是要加入同步语句来保证线程的安全),可以用于多线程环境。 Vector继承Serializable接口,因此它支持序列化,实现了Cloneable接原创 2016-09-06 11:33:13 · 295 阅读 · 0 评论 -
【Java1.7.5集合源码剖析】LinkedList源码剖析
LinkedList特点 1.内部通过双向链表存储数据 2.插入、删除不需要移动元素,只需要修改指针 3.实现了队列、双端队列、栈 4.插入、删除操作比较多的时候,推荐使用 5.获取指定index位置的值效率低(虽然有一个加速动作)6.LinkedList同样是非线程安全的,只在单线程下适合使用。7、无参构造方法直接建立一个仅包含head节点的空链表,包含Collect原创 2016-09-05 17:44:39 · 307 阅读 · 0 评论 -
【Java1.7.5集合源码剖析】ArrayList源码剖析
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下原创 2016-09-01 15:21:46 · 276 阅读 · 0 评论 -
【MyBatis源码分析】environments解析属性配置元素详述
environments加载先看我们项目相关配置XML;原创 2018-01-17 15:15:48 · 988 阅读 · 0 评论