自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 问答 (2)
  • 收藏
  • 关注

原创 mybatis 缓存的使用, 看这篇就够了

缓存的重要性是不言而喻的。 使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多、缓存命中率越高的情况下, 使用缓存对性能的提高更明显。mybatis 也提供了对缓存的支持, 分为一级缓存和二级缓存。 但是在默认的情况下, 只开启一级缓存(一级缓存是对同一个 SqlSession 而言的)。以下的项目是在mybatis 初步使用(IDEA的Maven项目, 超详细)的基础上进行。...

2018-09-30 13:28:33 58682 19

原创 mybatis源码-解析配置文件(三)之配置文件Configuration解析(超详细, 值得收藏)

1. 简介1.1 系列内容本系列文章讲解的是mybatis解析配置文件内部的逻辑, 即 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);...

2018-09-19 09:13:59 1662

原创 mybatis源码-解析配置文件(三)之配置文件Configuration解析(超详细, 值得收藏)

简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程: 通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuilder使用上一步获得的reader创建SqlSessionFactory对...

2018-09-19 09:12:14 468

原创 mybatis源码-解析配置文件(一)之XML的DOM解析方式

简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程:通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader;SqlSessionFactoryBuilder使用上一步获得的reader创建SqlSessionFactory对象;通过 sq...

2018-09-19 00:17:17 458

原创 mybatis源码-解析配置文件(二)之解析的流程

1. 简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程: 通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuilder 使用上一步获得的 reader 创建 SqlSessionF...

2018-09-16 08:55:18 874

原创 Java设计模式-建造者(Builder)模式

最近在看Mybatis的源码, 在阅读解析 XML 配置文件的过程中, 发现使用到了建造者(Builder)模式。 因此, 打算重温一下该设计模式。由来假设我们需要画一个小人, 我们可能会有以下的构造函数定义:public Person(HeadType headType, HairType hairType, HairColor hairColor, FaceType fac...

2018-09-14 08:59:13 323

原创 mybatis 初步使用(IDEA的Maven项目, 超详细)

创建 Maven 项目1. 菜单上选择新建项目 File | New | Project2. 选择左侧的Maven 由于我们只是创建一个普通的项目, 此处点击 Next即可。3. 输入GroupId和ArtifactId 在我的项目中, GroupId 填 com.homejim.mybatis ArtifactId 填 helloMyba...

2018-09-09 11:56:22 12145 3

原创 静态代理和动态代理

代理模式(静态代理) 代理模式是为其他对象提供一种代理以控制对这个对象的访问。定义上也不算好理解, 上一个 《大话设计模式》 的图。Subject 类(一般是抽象类或接口), 定义了一个方法。RealSubject 类实现了这个接口, 正常的情况我们只需要 new 出这个类的实例对象, 然后调用这个方法就可以了。但是, 如果我们有需求说想要在这个方法的前面和后面进行一...

2018-09-03 21:58:20 147

原创 Java 多线程(五)之 synchronized 的使用

并发编程为我们带来了很多便利, 但同时也带来了线程安全问题。线程安全线程安全性的定义: 当多个线程访问某一个类时, 这个类始终能表示出正确的行为, 那么就称这个类是线程安全的。其产生的原因可以归结如下:1.共享数据: 只有共享的数据才会产生带来安全性问题。 如果是方法内部声明的变量, 其是在虚拟机栈中, 为每个线程独享, 不存在安全性问题。2.多个线程对共享数据进...

2018-09-01 12:53:20 2060

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除