自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有米oooooooo

其实,我是一个技术人

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

原创 Mybatis源码分析——文章目录

本系列文章有10多篇,写的好棱乱,哈哈!为了方便阅读,特意梳理了一个阅读目录 ,如下引导及使用demoMybatis入门,从一个简单的JdbcUtil开始Mybatis入门,一个简单的demo整体架构Mybatis源码分析——框架架构配置文件解析Mybatis源码分析——mybatis-config.xml解析Mybatis源码分析——mapper.xml解析Myba...

2019-07-14 01:08:36 301

原创 Mybatis源码分析——事务

我们平时使用db都离不开事务,那在mybatis中是如何实现事务的呢。mybatis中有事务Transaction,必有生产事务的TransactionFactory。TransactionFactory:有3个实现类,分别是JdbcTransactionFactory、ManagedTransactionFactory和SpringManagedTransactionFactory,前2...

2019-07-13 01:46:17 319

原创 Mybatis源码分析——sql执行过程的类图

前面分析了sql的执行过程,似乎有点乱,因为没有一个整体的流程图,不知道走到哪是哪。好吧,我重新画了个图。我们再跟着图来梳理一次吧。如下SqlSession:有3个实现类,分别是DefaultSqlSession、SqlSessionManager、SqlSessionTemplate,后2者其实也是通过代理的方式,最终由DefaultSqlSession实现功能。在DefaultSq...

2019-07-11 01:31:20 555

原创 Mybatis源码分析——配置文件解析的类图

我们在解析mybatis-config.xml文件和mapper.xml文件的时候,各种Builder是不是琳琅满目眼花缭乱。好吧,那我们就重新来梳理一下它们之间的关系吧,梳理完成后,回头去看源码,保你眼前一亮豁然开朗。这么多Builder其实使用的是建造模式,它们之间的关系如下BaseBuilder:基类,定义了Configurationconfiguration,也是建造目标...

2019-07-03 01:27:57 689

原创 Mybatis源码分析——如何执行一条sql

Mybatis源码分析——如何为dao类生成代理对象从上面这篇文章中,我们知道,mybatis为dao类生成了一个代理对象,最终调用SqlSession的方法来执行sql。那SqlSession是如何产生的呢,当然是通过SqlSessionFactory创建的啦,那SqlSessionFactory又是如何产生的呢,当然是通过SqlSessionFactoryBuilder创建的啦。Sql...

2019-06-29 22:31:58 478

原创 Mybatis源码分析——如何为dao类生成代理对象

Mybatis入门,一个简单的demo在上面demo中,我们定义了一个dao接口,并没有实现类,然后直接调用接口的方法,就可以执行mapper里的sql。这是怎么做到的呢。Mybatis源码分析——mapper.xml解析在这篇文章中,我们分析到:mapper.xml对应的dao类会添加到configuration的MapperRegistry的Map<Class<?&gt...

2019-06-29 20:58:43 1106

原创 Mybatis源码分析——mapper.xml解析

本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo在源码分析过程中,会使用到一些额外的知识点,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为两个阶段,如下mybatis-config.xml解析 mapper.xml文件解析本篇分析的是第二阶段。上一篇讲到解析mapper.xml是在X...

2019-06-27 01:28:34 791

转载 JAVA SPI

转自于 https://blog.csdn.net/lemon89/article/details/79189475

2019-06-25 21:23:23 382

原创 Mybatis源码分析——mybatis-config.xml解析

在源码分析过程中,会使用到一些额外的知识,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为三个阶段,如下mybatis-config.xml解析mapper.xml文件解析mapper跟dao绑定本篇分析的是第一阶段。本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo首先,看一下初始化入口...

2019-06-23 19:13:18 875

原创 Mybatis中使用的设计模式

建造者模式这里讲得很清楚了深入浅出设计模式——建造者模式(Builder Pattern)在mybatis中,在解析配置文件的时候使用。Builder角色是org.apache.ibatis.builder.BaseBuilder,ConcreteBuilder角色就是它的实现类,分别负责解析不同类型的配置文件,包括org.apache.ibatis.builder.xml.XMLCo...

2019-06-23 15:49:58 669

原创 Mybatis中使用的spring接口

**InitializingBean**org.springframework.beans.factory.InitializingBean.java在所有的properties被注入完成后会调用实现类的方法:void afterPropertiesSet()mybatis配置的org.mybatis.spring.SqlSessionFactoryBean就是通过这种方式初始化的。...

2019-06-23 15:22:22 178

原创 Mybatis源码分析——框架架构

Mybatis是什么?Mybatis是一个ORM框架。在ORM框架出来之前,我们如何操作DB?用JDBC连接数据库操作,我们可以写一个JdbcUtil去操作。如:Mybatis入门,从一个简单的JdbcUtil开始为什么会出现ORM?试想一下,手写一个JdbcUtil会存在什么问题?数据库连接太昂贵?频繁获取释放连接严重影响性能?每次操作数据库都要使用PreparedStateme...

2019-06-22 17:41:44 745

原创 Mybatis入门,一个简单的demo

用java操作数据库,一个JdbcUtil就搞定了。如:Mybatis入门,从一个简单的JdbcUtil开始但是,这会有什么问题呢?问题很多,非常多,哈哈。ORM的出现就是这了解决这些问题,比如经典强大的Mybatis(曾用名:ibatis)。具体解决了什么问题,后续再讲。先来看看,一个简单的demo。99%的情况下,mybatis都是集成在springmvc或springboot里使用...

2019-06-22 16:42:33 462

原创 Mybatis入门,从一个简单的JdbcUtil开始

大学时候就学的最原始的JDBC,刚毕业那会,笔试还要求手写JDBC。什么都不说了,看代码吧。首先,要去官网下载一个mysql的驱动包,如:mysql-connector-java-5.1.27.jar然后,Run As Java Applicationpackage com.rice.web;import java.sql.Connection;import java.sql.Driv...

2019-06-21 00:20:52 326

原创 Required request part 'file' is not present

@RequestMapping(path = "/detail_upload", method = RequestMethod.POST) public String detailUpload(@RequestParam MultipartFile file) throws Exception { // 获取文件名 String fileName = f...

2019-06-03 20:32:38 9358

原创 Mysql InnoDB笔记(6)——备份和性能调优

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》备份备份类型按备份方式分:HOT BACKUP(热备)备份工具:ibbackup、XtraBackupCOLD BACKUP(冷备)WARM BACKUP(温备)按备份文件格式分:逻辑备份(备份数据内容)备份工具:mysqldump、SELECT …INTO OUTFILE裸文件备份(备份数据...

2019-06-02 17:00:38 209

原创 Mysql InnoDB笔记(5)——事务

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》事务事物特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)事务分类扁平事务(Flat Transactions)这种是我们最常用的事务类型,只有一个保存点。带有保存点的扁平事务(Flat Transactions with Savepo...

2019-05-31 01:14:54 284 1

原创 Mysql InnoDB笔记(4)——锁

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》锁Innodb 支持一致性非锁定读和行级锁。锁的类型共享锁(S Lock)允许事务读一行数据显示获取共享锁:SELECT * FROM table_name WHERE ... LOCK IN SHARE MODE普通select语句不会加任何锁排他锁(X Lock)允许事务删除或更新一行数据显示获取...

2019-05-26 18:20:18 130

原创 Mysql InnoDB笔记(3)——索引

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》

2019-05-23 01:01:17 187

原创 Mysql InnoDB笔记(2)——表

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》

2019-05-19 01:20:36 247

原创 Mysql InnoDB笔记(1)——体系架构

本文笔记摘自于《Mysql 技术内幕 InnoDB存储引擎》

2019-05-19 00:37:16 185

转载 eclipse安装lombok插件

1、下载 lombok.jarhttps://projectlombok.org/download.html2、将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级3、在 eclipse.ini 最后一行加上-javaagent:D:\eclipse\java-2018-123\eclipse\lombok.jar4、重启eclipse,再clea...

2019-05-08 15:37:43 276

转载 五种网络IO模型【转】

转发来源:https://www.cnblogs.com/findumars/p/6361627.html同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-blockin...

2018-12-02 16:26:20 2993

转载 Tomcat 的连接数与线程池【转】

转发来源:http://www.importnew.com/27309.html在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。在前面的文章 详解Tomcat配置文件server.xml 中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据;然...

2018-12-02 16:17:41 160

转载 双亲委派模型和动态代理

转 https://blog.csdn.net/bruce_lv/article/details/78578295转 https://blog.csdn.net/u011784767/article/details/78281384转 https://blog.csdn.net/whh743/article/details/53638322

2018-09-23 18:14:18 349

原创 驾考复盘

哈哈哈哈哈哈哈哈哈哈哈哈哈哈 先让我长笑一下吧 为我长达三年的不容易就在前2天,8.31我通过了科目三的考试,离拿驾照近在咫尺了!!!!!! 为什么说是长达三年的艰辛呢,来复盘一下吧,总结一下经验教训!!!!!艰难的过程 本人坐标深圳。2015年8月,当时驾考的报名费8000多,加上打点教练啥的,总共要10000出头,并且每一个科目约考都要2、3个月。当时老家的情况是,报名费3...

2018-09-02 15:11:51 132

原创 Java Collection 体系

最近在复习数据结构方面的知识,顺便回顾一下java集合的实现。上网找了一下java Collection的文章,想看一下完整的类图,结果发现大多数都是没画得很清楚,或者过于复杂,不适合我看。于是,我想自己花点时间整理一下,顺便加深一下印象。这不,花了2、3个小时整理出来了。接下来, 计划再看一遍源码实现。 阿帕奇的集合工具实现。 还有concurrent下面的集合相关。...

2018-08-18 17:02:12 328

转载 springboot的@ResponseBody处理null属性值和时间格式

1、继承处理类ObjectMapperimport java.io.IOException;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.Jso...

2018-05-06 14:21:41 4505

原创 eclipse安装lombok

1.下载 lombok.jar (https://projectlombok.org/download.html)2.eclipse手动安装 lombok 1. 将 lombok.jar 复制到 eclipse.ini 所在的文件夹目录下 2. 打开 eclipse.ini,在最后面插入以下两行并保存,注意前后不要有空格: -Xbootclasspat...

2018-05-05 19:19:16 113

原创 git密码清除

今天从git下载项目,由于第一次输入错了密码,后面无论如都是改不了密码。pull就报无权限。又没有命令重设密码。真是f**k找了好久才找到清除密码的方法。 然后在打开的文件中把[credential] help=manager直接删除。再次pull就会提示输入用户名和密码了。...

2018-05-05 18:15:40 5589

原创 微观经济学原理

看书不总结=白读 总结了也可能=白读这是我这几年来的看书心得我看的书分2类: 第一类是专业相关,目的是看懂并应用 第二类是其他的,目的只是了解,扩展知识体系的宽度这次花了5个星期把微/宏观经济学原理都看完了,只是看完了,算是入门吧。 摘一些读书心得记录一下。微观经济学第一章 经济学十大原理开篇讲解了 什么是经济?经济学研究什么?什么会有经济学?然后

2018-01-27 17:33:57 940

原创 Redis起步

GCC安装 gcc -v 先检查是否已安装 yum install gcc 如未安装先安装新建目录 cd /home/rice mkdir redis下载 wget http://download.redis.io/releases/redis-3.2.4.tar.gz解压 tar -zxvf redis-3.2.4.tar.gz编译 cd redis-3.2.4 make安装

2017-08-06 00:31:37 212

原创 Java NIO

一些概念阻塞和非阻塞 参照数据有没有准备好这一动作来讲 阻塞:如果数据没有准备好,程序就会处理一个阻塞状态,不会继续往下执行 非阻塞:无论数据是否准备好,程序都会往下执行同步和异步 参照时间,在同一时间点或同一时间段内,能不能同时完成多个任务,或同时做多件事 同步:在同一时间点或同一时间段内,程序只能做一件事 异步:在同一时间点或同一时间段内,程序可以做多件事NIO 同步非阻塞 AIO

2017-07-30 14:25:05 151

原创 Mycat中间件

一些常见的数据库中间件 Cobar / Mycat / TDDL / Sharding-JDBCMycat 可以认为是一个虚拟的数据库服务器,可以看作是一个基于mysql协议的数据库代理。解决:分库分表带来的复杂操作。官网 http://www.mycat.io/ 电子书 http://www.mycat.io/document/Mycat_V1.6.0.pdf应用场景: 读写分离 、 分库

2017-07-28 23:35:12 301

原创 SVN服务端安装

1、系统版本 centos 6.82、安装 yum -y install subversion3、建立版本库根目录 mkidr /home/rice/svndata svnserve -d -r /home/rice/svndata4、建立版本库 svnadmin create /home/rice/svndata/test5、修改/conf/svnserve.conf 注意各个配置

2017-07-28 17:22:19 288

原创 spring常用注解

@Resource @PostConstruct @PreDestroy 是javax提供的,spring都支持@PostConstruct用于标注方法,表示在执行完构造方法后执行该方法@Resource与@Autowired 等效,都是自动注入bean@Resource(name=”riceService”)与 @Autowired() @Qualifier(“riceService”) 等效,

2017-07-28 15:11:19 205

原创 Mysql主从配置

master-slave主从配置

2017-07-28 00:38:13 155

原创 Mysql安装

rpm的安装方式1、下载 wget http://repo.mysql.com/mysql-community-release-e17-5.noarch.rpm2、安装 sudo rpm -ivh mysql-community-release-e17-5.noarch.rpm sudo yum install mysql-server3、启动 service mysql start4、登录

2017-07-27 23:27:06 159

原创 Java日志框架

原谅请看 http://www.cnblogs.com/chenhongliang/p/5312517.htmlLog4jLog4j是apache下一个功能非常丰富的java日志库实现,Log4j应该是出现比较早而且最受欢迎的java日志组 件,它是基于java的开源的日志组件。Log4j的功能非常强大,通过Log4j可以把日志输出到控制台、文件、用户界面。也可以输出到操作系统的事件记录器和一些

2017-07-27 14:56:06 300

转载 Apache Commons工具包

详细请看原文 http://blog.csdn.net/wiker_yong/article/details/23551209Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问http://jakarta.apache.org/commons/index.html BeanUtils Commons-BeanUtils 提供对 Java 反

2017-07-27 10:35:16 232

空空如也

空空如也

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

TA关注的人

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