- 博客(174)
- 资源 (14)
- 问答 (4)
- 收藏
- 关注
原创 Java 架构笔记整理(P6+)
开通语雀(云端知识库),关注我的云笔记:《架构学习》,文章内容更新,更全。1. Java核心技术 1.1.基础知识 1.1.1.进制转换 1.1.2.异常处理 1.1.3.List 分批代码 1.1.4.字符串分割 1.1.5.编码风格 1.2.并发编程 1.2.1.参考文章 1.2.2....
2020-02-07 16:13:05 2483
原创 异常栈 - 限制打印行数
我们经常通过 try catch 代码块包住一段可能出现异常的代码,同时在 catch 块中打印异常信息,如下所示:public static void main(String args[]) { try { a(); } catch (HighLevelException e) { e.printStackTrace(); }}当然通常情况我们会使用日志框架,不会直接使用 e.printStackTrace() 方法打印异常栈,但是日志框
2020-10-10 19:27:49 1957
原创 MySQL
我在语雀中整理了一些 MySQL 的知识点,欢迎关注。MySQL 基础知识与体系结构 MySQL 背景概述 MySQL 安装 MySQL 体系结构-概述 MySQL 体系结构-主要文件 MySQL 体系结构-存储引擎 MySQL SQL语句与编程 MySQL 字段类型 MySQL 数值类型 MySQL 字符集 MySQL 字符串类型 MySQL 集合类型 MySQL 日期类型 MySQL JSON 类型 MySQL 常用函数介绍
2020-06-03 10:20:22 2041
原创 MySQL Join 算法与调优
看完这几篇文章,你就知道为什么 MySQL 关联查询要尽量少用了MySQL Join 算法与调优(一)MySQL Join 算法与调优(二)MySQL Join 算法与调优(三)MySQL Join 算法与调优(四)补充说明更多文章参考我的架构笔记:https://www.yuque.com/yinjianwei/vyrvkf...
2020-04-09 19:10:50 270
原创 常用开发、办公工具推荐
推荐一些常用的工具,都是我平时开发、工作中用到的,觉得各方面还可以,推荐给大家,希望给大家带来一些帮助。开发相关Java开发工具Eclipse、IDEA这个不用多讲,大家都知道的,IDEA相比Eclipse更加友好一些,优先推荐IDEA吧。Eclipse官网地址是:https://www.eclipse.org/downloads/IDEA的官网地址是:htt...
2020-02-15 14:18:31 475
原创 云笔记工具推荐
今天给大家推荐一款云笔记,我用过有道云笔记、为知笔记、印象笔记,最后我还是选择了阿里的语雀我用的语雀的功能比较少,主要是一个人使用,没有建团队,语雀的在不断的迭代,支持的功能越来越丰富。我主要用到它的知识库(可以编写一个系列的文章)方面,用来平时整理个人笔记用的。我觉得至少有两点它非常好,非常适合程序员使用。1.文档编辑器功能丰富,适合程序员编写文章。2.提供了知识树结构,...
2020-02-13 18:16:51 883
原创 MyBatis 数值类型 where 条件配置的坑
更多文章参考我的笔记:https://www.yuque.com/yinjianwei/vyrvkf复现异常我们先通过案例复现该类异常,测试项目地址:https://gitee.com/yin_jw/demo/tree/master/mybatis-demo/springboot-mybatis-demo,StudentMapper.xml 中根据条件获取学生信息的 SQL 配置...
2019-11-26 09:39:00 640
原创 面试资源整理
我的笔记:https://www.yuque.com/yinjianwei/vyrvkf/tbn3et有一个附件在这里没有办法上传,可以参考我的笔记,可以下载面试题附件:JAVA核心知识点整理.pdf面试题技术面试必备基础知识、Leetcode、Java、C++、Python、后端面试、计算机操作系统、计算机网络、系统设计【Java学习+面试指南】 一份涵盖大部分Java...
2019-11-21 18:25:00 317
原创 MySQL InnoDB 实现高并发原理
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异转载:《InnoDB并发如此高...
2019-11-20 09:37:00 316
原创 MySQL InnoDB MVCC
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异MVCCMVCC 的定义M...
2019-11-19 14:48:00 337
原创 MySQL InnoDB 锁
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异数据准备:/*SQLyo...
2019-11-18 18:54:00 210
原创 MySQL InnoDB 事务
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异MySQL5.5 及以后版本的...
2019-11-18 10:21:00 210
原创 MySQL 执行计划详解
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异我们经常使用 MySQL 的执...
2019-11-15 09:49:00 131
原创 MySQL 语句执行过程详解
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异当客户端向 MySQL 发送一...
2019-11-11 09:23:00 391
原创 MySQL 体系结构及存储引擎
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异MySQL 体系结构MySQ...
2019-11-10 20:36:00 576
原创 MySQL 索引机制
MySQL 原理篇MySQL 索引机制MySQL 体系结构及存储引擎MySQL 语句执行过程详解MySQL 执行计划详解MySQL InnoDB 缓冲池MySQL InnoDB 事务MySQL InnoDB 锁MySQL InnoDB MVCCMySQL InnoDB 实现高并发原理MySQL InnoDB 快照读在RR和RC下有何差异索引是什么?索引是为了加速对...
2019-11-10 11:13:00 234
原创 MySQL 触发器的使用
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用转载:《Mysql中的触发器》什么是触发器触...
2019-10-30 20:22:00 143
原创 MySQL AND 和 OR 联合使用带来的坑
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数据准备:CREATE TABLE prod...
2019-10-30 20:13:00 463
原创 MySQL NULL 使用带来的坑
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用NULL 无值(no value),它与字段包含 0 、空...
2019-10-30 19:54:00 178
原创 MySQL 行转列 列转行
转载:《mysql 行转列 列转行》行转列准备数据:CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject VARCHAR(20) COMMENT '科目', scor...
2019-10-30 19:49:00 243
原创 MySQL 多列排序
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数据准备:CREATE TABLE `tea...
2019-10-30 19:44:00 418
原创 MySQL 字段类型介绍
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用注意点:数值类型:注...
2019-10-30 19:40:00 230
原创 MySQL 常用函数介绍
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数值型函数...
2019-10-30 19:39:00 95
原创 MySQL 军规
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用转载:《58到家数据库30条军规解读》《赶集...
2019-10-30 19:31:00 127
原创 三范式
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用三范式第一范式( 1NF):字段具有原子性,不可...
2019-10-30 19:28:00 207
原创 MyBatis 源码篇-MyBatis-Spring 剖析
本章通过分析mybatis-spring-x.x.x.jarJar 包中的源码,了解MyBatis是如何与Spring进行集成的。Spring配置文件MyBatis与Spring集成,在Spring配置文件中配置了数据源、SqlSessionFactory、自动扫描MyBatis中的Mapper接口、事务管理等,这部分内容都交由Spring管理...
2019-10-29 11:08:00 164
原创 MyBatis 源码篇-Transaction
本章简单介绍一下MyBatis的事务模块,这块内容比较简单,主要为后面介绍mybatis-spring-1.**.jar(MyBatis与 Spring集成)中的事务模块做准备。类图结构MyBatis事务模块的代码在transaction包下:根据包的分类,提供了两种事务实现:jdbc、managed。我们还是先来看下事务模块整...
2019-10-29 10:57:00 166
原创 MyBatis 源码篇-DataSource
本章介绍MyBatis提供的数据源模块,为后面与Spring集成做铺垫,从以下三点出发:描述MyBatis数据源模块的类图结构;MyBatis是如何集成第三方数据源组件的;PooledConnection 设计初衷猜想;类图结构MyBatis数据源部分的代码在datasource目录下。提供了三种类型的数据源实现:unpooled(...
2019-10-29 10:55:00 243
原创 MyBatis 源码篇-插件模块
本章主要描述MyBatis插件模块的原理,从以下两点出发:MyBatis是如何加载插件配置的?MyBatis是如何实现用户使用自定义拦截器对SQL语句执行过程中的某一点进行拦截的?示例准备首先准备两个拦截器示例,代码如下。@Intercepts({ @Signature(type = Executor.class, metho...
2019-10-29 10:50:00 154
原创 MyBatis 源码篇-日志模块2
上一章的案例,配置日志级别为debug,执行一个简单的查询操作,会将JDBC操作打印出来。本章通过MyBatis日志部分源码分析它是如何实现日志打印的。在MyBatis的日志模块中有一个jdbc package,package中的内容如下图所示:BaseJdbcLogger是一个抽象类,它是jdbcpackage下其他类的父类,类继承关系如下图所示:...
2019-10-29 10:45:00 151
原创 MyBatis 源码篇-日志模块1
在Java开发中常用的日志框架有Log4j、Log4j2、ApacheCommonLog、java.util.logging、slf4j等,这些日志框架对外提供的接口各不相同。本章详细描述MyBatis是如何通过适配器的方式集成和复用这些第三方框架的。日志适配器MyBatis的日志模块位于org.apache.ibatis.logging包中,该模块中...
2019-10-29 10:43:00 238
原创 MyBatis 源码篇-资源加载
本章主要描述MyBatis 资源加载模块中的 ClassLoaderWrapper类和Java加载配置文件的三种方式。ClassLoaderWrapper上一章的案例,使用org.apache.ibatis.io.Resources#getResourceAsStream(java.lang.String)方法加载MyBatis的配置文件。Resources是一...
2019-10-29 10:41:00 181
原创 MyBatis 源码篇-SQL 执行的流程
本章通过一个简单的例子,来了解 MyBatis 执行一条 SQL 语句的大致过程是怎样的。案例代码如下所示:public class MybatisTest { @Test public void selectByPrimaryKey() throws IOException { // 3 StudentDao st...
2019-10-29 10:31:00 263
原创 MyBatis 源码篇-整体架构
MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。基础支持层反射模块该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。类型转换模块类型转换模块提...
2019-10-29 10:20:00 391
原创 MyBatis 示例-动态 SQL
MyBatis 的动态 SQL 包括以下几种元素:详细的使用参考官网文档:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html本章内容简单描述这些动态SQL在使用的过程中需要注意的地方。choose, when, otherwise比如我们要实现如下功能:当学生姓名不为空,则只用学生姓名作为条件查询...
2019-10-29 10:04:00 130
原创 MyBatis 示例-缓存
MyBatis提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述MyBatis缓存的使用。测试类:com.yjw.demo.CacheTest一级缓存MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL 完全一样的情况下,我们使用同一个 SqlSession 对象调用同一个 Mapper ...
2019-10-29 10:02:00 129
原创 MyBatis 示例-联合查询
简介MyBatis提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果。先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果。测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试。数据库表模型关系学生信息级联模型关系:链接学生信息级联模型关系是一个多种类型关联关系,包含了如下几种情况:其中...
2019-10-29 10:00:00 370
原创 MyBatis 示例-插件
简介利用 MyBatis Plugin 插件技术实现分页功能。分页插件实现思路如下:业务代码在 ThreadLocal 中保存分页信息;MyBatis Interceptor 拦截查询请求,获取分页信息,实现分页操作,封装分页列表数据返回;测试类:com.yjw.demo.PageTest插件开发过程确定需要拦截的签名MyBatis 插件可以拦截四...
2019-10-29 09:57:00 120
原创 MyBatis 示例-主键回填
测试类:com.yjw.demo.PrimaryKeyTest自增长列数据库表的主键为自增长列,在写业务代码的时候,经常需要在表中新增一条数据后,能获得这条数据的主键 ID,MyBatis 提供了实现的方法。StudentMapper.xml<insert id="insertByAutoInc" parameterType="studentDO" keyPro...
2019-10-29 09:53:00 248
原创 MyBatis 示例-传递多个参数
映射器的主要元素:本章介绍select元素中传递多个参数的处理方式。测试类:com.yjw.demo.MulParametersTest使用 Map 传递参数(不建议使用)使用 MyBatis 提供的 Map 接口作为参数来实现。StudentDao/** * 使用 Map 传递参数 * * @param params * @retur...
2019-10-29 09:48:00 233
hid_omnikey3x2x_x86_w7_r1_2_24_27.zip
2014-07-04
hid_omnikey3x2x_x64_w7_r1_2_24_27.zip
2014-07-04
springXSD文件
2013-02-28
Java日期工具类
2011-11-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人