自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cai_cf

在不断踩坑中进步

  • 博客(15)
  • 收藏
  • 关注

原创 mybatis源码学习之执行过程分析(3)——mapper接口的获取

在 mybatis源码学习之执行过程分析(1)——SqlSessionFactory及SqlSession的创建中,跟踪到openSession()方法返回了DefaultSqlSession,并持有Configuration的引用(Configuration的实例化见mybatis源码学习——Configuration类及其初始化过程、TypeHandler、TypeAlias)。当我们通过ses

2017-01-07 00:46:04 542

原创 mybatis源码学习——Configuration类及其初始化过程、TypeHandler、TypeAlias

Configuration类是Mybatis中的特别核心的一个类,主要用来进行Mybatis执行过程中的各项参数的设置。第一次Debug源码时,会感觉到什么配置都需要在Configuration中设置,多次Debug之后,发现确实如此,这就是Mybatis中的核心配置类。。。2333因为在Mybatis的整个生命周期中,只存在一个Configuration的实例。这里没有使用单例模式,所以在Conf

2017-01-05 21:04:00 1704

原创 RedisUtil工具类,Java单例模式实现

基于Java单例模式和Jedis封装的RedisUtil,提供了Redis中的Key、字符串、Hash、ZSet等的操作。package com.cumt.tools.redis;import com.alibaba.fastjson.JSON;import com.cumt.framework.config.ConfigHelper;import com.google.common.colle

2017-01-05 20:17:24 13959 3

原创 mybatis源码学习——Exception包

首先是exceptions包,主要包括ExceptionFactory和RuntimeException的实现类。如图所示,IbatisException继承自RuntimeException,而PersistenceException继承自IbatisException。框架中用到的其他Exception也主要继承自PersistenceException。public class IbatisE

2017-01-05 09:54:16 984

原创 mybatis源码学习之执行过程分析(0)——配置文件加载(io包)

在不使用Spring容器进行管理的情况下,我们通常使用Resources来加载配置文件。主要用到了io包中的Resources和ClassLoaderWrapper两个类。 Reader reader = Resources.getResourceAsReader("mybatis-config.xml");Resources类//持有ClassLoaderWrapper的一个引用priva

2017-01-04 19:36:40 464

原创 mybatis源码学习之执行过程分析(5)——sql执行后ResultSet的处理及结果返回

mybatis源码学习及分析之执行过程分析(5)——返回结果的处理上一篇中分析了sql语句的创建和执行过程,使用jdbc时,执行完sql后会返回ResultSet,然后我们会通过getInteger()、getString()等方法拿到数据。而使用Mybatis中我们可以直接将结果转换为POJO对象,下面就来看看mybatis是如何封装ResultSet的。PreparedStatementHand

2017-01-04 19:16:51 5853 1

原创 mybatis源码学习之执行过程分析(4)——映射文件中sql的获取和sql语句的执行

mybatis源码学习及分析之执行过程分析(4)——映射文件中sql的获取和sql语句的执行在上一篇中分析了XXXMapper接口的获取,其实质上拿到的是一个MapperProxy。这一篇主要分析sql的执行。MapperProxy.java private final SqlSession sqlSession; //接口名字记录在这里 private final Class<T> ma

2017-01-04 18:37:42 2893

原创 mybatis源码学习之执行过程分析(2)——config.xml配置文件和mapper.xml映射文件解析过程

在上一篇中跟踪了SqlSessionFactory及SqlSession的创建过程。这一篇,主要跟踪Mapper接口和XML文件映射及获取。1.Mapper文件的解析1.1Mybatis-config.xml的解析在SqlSessionFactoryBuilder中执行build()方法时,其实做了配置文件的加载和解析,以及Configuration的初始化。SqlSessionFactoryBui

2017-01-04 17:53:29 1518 1

原创 mybatis源码学习之执行过程分析(1)——SqlSessionFactory及SqlSession的创建

mybatis源码学习及分析之执行过程分析——SqlSessionFactory及SqlSession的创建分析采用mybati-3.4.1.jar mybatis的工程结构如图: 与执行流程相关的类主要有: SqlSessionFactory SqlSessionFactoryBuilder DefaultSqlSessionFactory Configurati

2017-01-03 20:47:36 1618

原创 mybatis源码学习之基础工程准备

Mybatis源码学习,入门Demo转行做Java一年了,基本的框架等会用,但总停留在表面,未能够深入学习。今年需要多多学习主流框架的源码,

2017-01-03 19:36:06 470

原创 Properties工具类 Helper ——Java7 try-with-resource

使用Java7 try-with-resource对Properties进行封装。

2016-12-04 12:24:34 530

原创 Content-Disposition 文件上传、下载 中文乱码 HTTP头 解决办法 Java Jersey

1、文件上传通过表单上传文件时,如果文件名存在中文则会发生乱码。<form name="myform" action="/fileManager/uploadFile" method="post" enctype="multipart/form-data" accept-charset="utf-8" > <input type="text" name="path"> <input t

2016-11-11 18:13:01 21587 1

原创 AWS3兼容青云对象存储操作类 JAVA单例模式

最近用到青云的对象存储,所以简单封装了一下。package com.tool.objectstoretool;import com.amazonaws.AmazonClientException;import com.amazonaws.AmazonServiceException;import com.amazonaws.ClientConfiguration;import com.amaz

2016-11-09 10:17:18 2605 2

原创 在Windows CMD命令行中使用curl

在Windows CMD命令行中使用curl1.下载curl官网下载地址:https://curl.haxx.se/download.html拉至最下面选择 2.安装下载后将 ca-bundle.crt curl.exe 拷贝至C:\Windows\System32 或将所在文件夹添加至系统环境变量。3.使用打开命令行输入测试

2016-10-31 17:52:38 9145

原创 # Mysql 1093 delete删除时报错解决

Mysql 1093 delete删除时报错解决错误:1093 - You can't specify target table '' for update in FROM clause在省市县的表里,删除某一城市下所有的市 列名:id,countryname,countrycode 例如要删除北京下所有的区, 错误的写法mysql> delete from country where i

2016-08-04 13:44:20 3138

空空如也

空空如也

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

TA关注的人

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