自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

殷建卫

欢迎关注我的云笔记,获得最新更新:https://www.yuque.com/yinjianwei/vyrvkf

原创 Java 架构笔记整理(P6+)

开通语雀(云端知识库),关注我的云笔记:《架构学习》,文章内容更新,更全。 1. Java核心技术   1.1.基础知识     1.1.1.进制转换     1.1.2.异常处理     1.1.3.List 分批代码     1.1.4.字符串分割     1.1.5.编码风...

2020-02-07 16:13:05 2167 0

原创 MySQL

我在语雀中整理了一些 MySQL 的知识点,欢迎关注。 MySQL 基础知识与体系结构 MySQL 背景概述 MySQL 安装 MySQL 体系结构-概述 MySQL 体系结构-主要文件 MySQL 体系结构-存储引擎 MySQL SQL语句与编程 MySQL 字段类型...

2020-06-03 10:20:22 1765 0

原创 MySQL Join 算法与调优

看完这几篇文章,你就知道为什么 MySQL 关联查询要尽量少用了 MySQL Join 算法与调优(一) MySQL Join 算法与调优(二) MySQL Join 算法与调优(三) MySQL Join 算法与调优(四) 补充说明 更多文章参考我的架构笔记:https://www.yuqu...

2020-04-09 19:10:50 42 0

原创 常用开发、办公工具推荐

推荐一些常用的工具,都是我平时开发、工作中用到的,觉得各方面还可以,推荐给大家,希望给大家带来一些帮助。 开发相关 Java开发工具 Eclipse、IDEA这个不用多讲,大家都知道的,IDEA相比Eclipse更加友好一些,优先推荐IDEA吧。 Eclipse官网地址是:https://...

2020-02-15 14:18:31 109 0

原创 云笔记工具推荐

今天给大家推荐一款云笔记,我用过有道云笔记、为知笔记、印象笔记,最后我还是选择了阿里的语雀 我用的语雀的功能比较少,主要是一个人使用,没有建团队,语雀的在不断的迭代,支持的功能越来越丰富。 我主要用到它的知识库(可以编写一个系列的文章)方面,用来平时整理个人笔记用的。我觉得至少有两点它非常好,...

2020-02-13 18:16:51 185 0

原创 MyBatis 数值类型 where 条件配置的坑

更多文章参考我的笔记:https://www.yuque.com/yinjianwei/vyrvkf 复现异常 我们先通过案例复现该类异常,测试项目地址:https://gitee.com/yin_jw/demo/tree/master/mybatis-demo/springboot-mybat...

2019-11-26 09:39:00 97 0

原创 面试资源整理

我的笔记:https://www.yuque.com/yinjianwei/vyrvkf/tbn3et 有一个附件在这里没有办法上传,可以参考我的笔记,可以下载面试题附件:JAVA核心知识点整理.pdf 面试题 技术面试必备基础知识、Leetcode、Java、C++、Python、后端面试、...

2019-11-21 18:25:00 68 0

原创 MySQL InnoDB 实现高并发原理

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-20 09:37:00 82 0

原创 MySQL InnoDB MVCC

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-19 14:48:00 80 0

原创 MySQL InnoDB 锁

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-18 18:54:00 20 0

原创 MySQL InnoDB 事务

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-18 10:21:00 14 0

原创 MySQL 执行计划详解

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-15 09:49:00 20 0

原创 MySQL 语句执行过程详解

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-11 09:23:00 88 0

原创 MySQL 体系结构及存储引擎

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-10 20:36:00 270 0

原创 MySQL 索引机制

MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 MySQL InnoDB 锁 MySQL InnoDB MVCC MySQL InnoDB 实现高并发...

2019-11-10 11:13:00 32 0

原创 MySQL 触发器的使用

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 20:22:00 24 0

原创 MySQL AND 和 OR 联合使用带来的坑

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 20:13:00 95 0

原创 MySQL NULL 使用带来的坑

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:54:00 43 0

原创 MySQL 行转列 列转行

转载:《mysql 行转列 列转行》 行转列 准备数据: CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id...

2019-10-30 19:49:00 30 0

原创 MySQL 多列排序

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:44:00 35 0

原创 MySQL 字段类型介绍

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:40:00 26 0

原创 MySQL 常用函数介绍

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:39:00 23 0

原创 MySQL 军规

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:31:00 21 0

原创 三范式

MySQL基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑...

2019-10-30 19:28:00 20 0

原创 MyBatis 源码篇-MyBatis-Spring 剖析

本章通过分析mybatis-spring-x.x.x.jarJar 包中的源码,了解MyBatis是如何与Spring进行集成的。 Spring配置文件 MyBatis与Spring集成,在Spring配置文件中配置了数据源、SqlSessionFactory、自动扫描MyBatis中的Map...

2019-10-29 11:08:00 35 0

原创 MyBatis 源码篇-Transaction

本章简单介绍一下MyBatis的事务模块,这块内容比较简单,主要为后面介绍mybatis-spring-1.**.jar(MyBatis与 Spring集成)中的事务模块做准备。 类图结构 MyBatis事务模块的代码在transaction包下: 根据包的分类,提供了两种事务实现:jd...

2019-10-29 10:57:00 16 0

原创 MyBatis 源码篇-DataSource

本章介绍MyBatis提供的数据源模块,为后面与Spring集成做铺垫,从以下三点出发: 描述MyBatis数据源模块的类图结构; MyBatis是如何集成第三方数据源组件的; PooledConnection 设计初衷猜想; 类图结构 MyBatis数据源部分的代码在datas...

2019-10-29 10:55:00 25 0

原创 MyBatis 源码篇-插件模块

本章主要描述MyBatis插件模块的原理,从以下两点出发: MyBatis是如何加载插件配置的? MyBatis是如何实现用户使用自定义拦截器对SQL语句执行过程中的某一点进行拦截的? 示例准备 首先准备两个拦截器示例,代码如下。 @Intercepts({ ...

2019-10-29 10:50:00 36 0

原创 MyBatis 源码篇-日志模块2

上一章的案例,配置日志级别为debug,执行一个简单的查询操作,会将JDBC操作打印出来。本章通过MyBatis日志部分源码分析它是如何实现日志打印的。 在MyBatis的日志模块中有一个jdbc package,package中的内容如下图所示: BaseJdbcLogger是一个抽象类...

2019-10-29 10:45:00 24 0

原创 MyBatis 源码篇-日志模块1

在Java开发中常用的日志框架有Log4j、Log4j2、ApacheCommonLog、java.util.logging、slf4j等,这些日志框架对外提供的接口各不相同。本章详细描述MyBatis是如何通过适配器的方式集成和复用这些第三方框架的。 日志适配器 MyBatis的日志模块...

2019-10-29 10:43:00 32 0

原创 MyBatis 源码篇-资源加载

本章主要描述MyBatis 资源加载模块中的 ClassLoaderWrapper类和Java加载配置文件的三种方式。 ClassLoaderWrapper 上一章的案例,使用org.apache.ibatis.io.Resources#getResourceAsStream(java.lan...

2019-10-29 10:41:00 24 0

原创 MyBatis 源码篇-SQL 执行的流程

本章通过一个简单的例子,来了解 MyBatis 执行一条 SQL 语句的大致过程是怎样的。 案例代码如下所示: public class MybatisTest { @Test public void selectByPrimaryKey() throws IOEx...

2019-10-29 10:31:00 33 0

原创 MyBatis 源码篇-整体架构

MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。 基础支持层 反射模块 该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元...

2019-10-29 10:20:00 19 0

原创 MyBatis 示例-动态 SQL

MyBatis 的动态 SQL 包括以下几种元素: 详细的使用参考官网文档:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html 本章内容简单描述这些动态SQL在使用的过程中需要注意的地方。 choose, when, otherw...

2019-10-29 10:04:00 42 0

原创 MyBatis 示例-缓存

MyBatis提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述MyBatis缓存的使用。 测试类:com.yjw.demo.CacheTest 一级缓存 MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL ...

2019-10-29 10:02:00 42 0

原创 MyBatis 示例-联合查询

简介 MyBatis提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果。先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果。 测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试。 数据库表模型关系 学生信息级联模型关系...

2019-10-29 10:00:00 69 0

原创 MyBatis 示例-插件

简介 利用 MyBatis Plugin 插件技术实现分页功能。 分页插件实现思路如下: 业务代码在 ThreadLocal 中保存分页信息; MyBatis Interceptor 拦截查询请求,获取分页信息,实现分页操作,封装分页列表数据返回; 测试类:com.yjw.dem...

2019-10-29 09:57:00 25 0

原创 MyBatis 示例-主键回填

测试类:com.yjw.demo.PrimaryKeyTest 自增长列 数据库表的主键为自增长列,在写业务代码的时候,经常需要在表中新增一条数据后,能获得这条数据的主键 ID,MyBatis 提供了实现的方法。 StudentMapper.xml <insert id=&quo...

2019-10-29 09:53:00 19 0

原创 MyBatis 示例-传递多个参数

映射器的主要元素: 本章介绍select元素中传递多个参数的处理方式。 测试类:com.yjw.demo.MulParametersTest 使用 Map 传递参数(不建议使用) 使用 MyBatis 提供的 Map 接口作为参数来实现。 StudentDao /** * ...

2019-10-29 09:48:00 22 0

原创 MyBatis 示例-类型处理器

MyBatis提供了很多默认类型处理器,参考官网地址:链接,除了官网提供的类型处理器,我们也可以自定义类型处理器。 具体做法为:实现org.apache.ibatis.type.TypeHandler接口, 或继承org.apache.ibatis.type.BaseTypeHandler类 ,...

2019-10-29 09:47:00 23 0

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