自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u012045045的博客

今天所有的努力与忍耐都是为了明天更好的生活!

原创 XXLJOB自学之路-02(集群中的定时任务如何保证执行幂等性)

根据上一节的结论,由于传统任务调度的缺陷,所以这时候需要将定时任务和业务逻辑代码完全分开部署。 但是存在的问题: 1.如果定时任务和非定时任务业务逻辑代码放在同一个jar,如果部署集群的时候可能会发生任务重复执行。 那么问题来了,如何保证我们的定时任务在集群中只执行一次? 方法1.将业务逻...

2020-06-02 20:06:03 4 0

原创 XXLJOB自学之路-01(传统任务调度的缺陷)

定时任务业务逻辑代码和非定时任务业务逻辑代码放入同一个jar中,如果定时任务代码导致整个服务器崩溃,也会导致非定时任务业务逻辑代码崩溃。 所以这时候需要将定时任务和非定时任务的业务逻辑代码完全分开项目进行部署。 ...

2020-06-02 13:57:08 4 0

原创 springbatch自学之路-07(决策期decider的使用)

1.配置类 package com.springbatch._05new_decider; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.sp...

2020-06-01 21:42:15 10 0

原创 数据结构之每日一练-01(二分查找)

直接上代码吧 package com.test; /** * 二分查找 * * @Package: com.test * @ClassName: BinarySearch * @author: zq * @since: 2020/6/1 20:48 * @version: 1....

2020-06-01 21:00:47 9 0

原创 ETL自学之路-03(处理维度表)

一、管理各种键 业务键:源系统中业务主键,用来标识唯一的一个业务实体。 维度表代理键: 用来标识维度表里面的一行。 数据仓库最佳实践表明,原则上,维度表应该使用自动生成的无意义的整型数值作为代理键。 代理键的值和维度表里面的属性没有关系。代理键一般是在ETL过程中生成。 二、加载维度表...

2020-05-30 14:29:59 15 0

原创 ETL自学之路-02(维度建模)

一、维度建模的基本概念 1.1维度建模的定义 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法,数据集市可以理解为是一种小型的数据仓库。 1.2 维度表(dimension) 维度表示你要对数据进行分析时所用的一个量,比如,你要分析产...

2020-05-30 14:16:12 15 0

原创 ETL自学之路-01(初识ETL)

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。

2020-05-30 13:47:23 21 0

原创 springbatch自学之路-06(split的创建与使用-使用多线程执行任务)

1.配置类 package com.springbatch._04new_split; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.spri...

2020-05-28 21:30:34 19 0

原创 springbatch自学之路-05(flow的创建与使用)

1.配置类 package com.springbatch._03new_flow; import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.sprin...

2020-05-28 21:00:23 21 0

原创 springbatch自学之路-04(job的创建与使用)

目录 1.使用start。。。next。。。的方式 2.使用from。。。on。。。to。。。的方式 1.使用start。。。next。。。的方式 直接上代码: 配置类: package com.springbatch._02new_job; import org.springfr...

2020-05-28 19:59:43 18 0

原创 springbatch自学之路-03(将数据库替换为mysql)

目录 1.添加依赖 2.添加数据库数据 3.执行job 4.运行日志 5.查看数据库已经建好了springbatch相关的数据表 1.添加依赖 <?xml version="1.0" encoding="UTF-8"?> <...

2020-05-26 22:57:44 25 0

原创 Flyway自学之路-05(idea添加Flyway Migration Creation 插件)

1.插件下载地址 https://plugins.jetbrains.com/plugin/8597-flyway-migration-creation 2.或者在联网的情况下直接在idea里面搜索Flyway Migration Creation 插件并安装

2020-05-24 12:33:43 40 0

原创 Flyway自学之路-04(springboot结合Flyway)

1.新建项目 2.添加mysql数据库依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g...

2020-05-24 12:17:27 41 0

原创 Flyway自学之路-03(几个可用命令行操作Flyway)

1.命令行: migrate 将架构迁移到最新版本。如果Flyway不存在,它将自动创建架构历史记录表。 Usage > flyway [options] migrate 2.命令行: clean 删除已配置模式中的所有对象(表,视图,过程,触发器等)。 架构将按...

2020-05-24 12:06:06 27 0

原创 Flyway自学之路-02(使用命令行操作Flyway)

1.去官网下载并安装命令行的包 https://flywaydb.org/documentation/commandline/ 2.解压文件,放在自定义目录下 这里我放在D:\software\java\flyway目录下 3.将该路径添加至环境变量path中 4.测试是否安...

2020-05-24 11:39:27 31 0

原创 Flyway自学之路-01(Flyway简介)

1.1、Flyway是什么 Flyway是一款数据库迁移(migration)工具。简单点说,就是在你部署应用的时候,帮你执行数据库脚本的工具。Flyway支持SQL和Java两种类型的脚本,你可以将脚本打包到应用程序中,在应用程序启动时,由Flyway来管理这些脚本的执行,这些脚本被Flywa...

2020-05-24 10:46:57 30 0

转载 AbstractRoutingDataSource -- Spring提供的轻量级数据源切换方式

简单多数据源配置 在一个普通Spring + Mybatis项目中,如果使用了多数据源,可以通过在dao层注入不同的SqlSessionTemplate来实现与不同数据库交互的目的。单个SqlSessionTemplate注入容器的过程如下: <!-- 配置数据源 -->...

2020-05-23 21:34:08 77 0

转载 (详细深入)使用索引优化left join on + where条件查询

首先,贴一个待优化的sql语句 select * from A left join B on A.c = B.c where A.employee_id = 3 需求解读: A表left join B表,并且指定A表中的employee_id为一个具体的值 在c字段不是任何索引,A B ...

2020-05-23 21:18:42 52 0

转载 mysql left join使用不了索引问题

前言 在本地建了两张表,一张order表和一张zx表,由于order的用户ID是包含所有我需要的用户,所以用order作为驱动表left join zx表。 事先我在两表内都创建了unique的索引(end_date,ownerid),然后用order表 left join zx表。 ——按理说应...

2020-05-23 21:11:15 27 0

转载 MYSQL因为时区协商误解导致时间差了 14 或 13 小时

我一般使用MYSQL定义字段类型时,一般使用TIMESTAMP时间戳来定义创建时间与更新时间,并将其定义为默认值为CURRENT_TIME,但是由于场景特殊,现在我需要将一个任务的开始时间与结束时间记录,并写入数据库,那么我的开始时间戳与结束时间戳则不应该是使用数据库自带的默认值的,而是应该使用我...

2020-05-23 20:57:43 37 0

原创 springbatch自学之路-02(创建第一个helloworld的job)

1.新建任务配置器 JobConfig.java package com.springbatch._01helloworld; import org.springframework.batch.core.Job; import org.springframework.batch.core.S...

2020-05-22 21:08:04 26 0

原创 springbatch自学之路-02(如何搭建一个springbatch项目)
原力计划

目录 1.通过连接外网的方式 2.通过idea自带的springboot初始化的方式 3.通过自己新建maven工程的方式 1.通过连接外网的方式 (1)访问https://start.spring.io/ (2)配置好maven坐标以后,添加maven依赖,搜索batch和h2添...

2020-05-22 20:34:14 46 0

原创 springbatch自学之路-01(springbatch简介)

spring batch是spring提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作。 这些业务运营包括: 无需用户交互即可最有效地处理大量信息的自动化,复杂处理。 这些操作通常包括基于时间的事件(例如月末计算,通知或通信)。 在非常大的数据集中重复处...

2020-05-22 19:49:37 20 0

原创 mysql数据库有merge into 吗

回答:没有。 但是可以通过 INSERT ... ON DUPLICATE KEY UPDATE语句实现。 下面举例: 1.建表 CREATE TABLE `test_01` ( `a` int NOT NULL, `b` int DEFAULT NULL, `c` int DEF...

2020-05-09 19:52:07 49 0

转载 两种解决虚拟机linux系统中文乱码问题

1、export LANG=en_US.UTF-8 ,source /etc/profile 2、修改/etc/sysconfig/i18n文件 #LANG="en_US.UTF-8" #SUPPORTED="en_US.UTF-8:en_US:en"...

2020-05-09 19:30:14 38 0

转载 mysql创建索引的时候支持字段的desc排序方式吗

MySql创建索引时百支持ASC或DESC排序。 下面举例 创建表时同时度创建索知引降序排序(sname 字段上普通道索引降序) create table tbl1 ( id int unique, sname varchar(50), index tbl1_index_sname(sname d...

2020-05-09 19:27:23 82 0

转载 JDK1.8自学之路-11(Lambda表达式和函数式接口)

Lambda表达式的类型,也称为“目标类型”,Lambda表达式的目标类型必须是函数式接口。函数式接口代表只包含一个抽象方法的接口。函数式接口可以包含多个默认方法、类方法,但只能声明一个抽象方法。 如果采用匿名内部类语法来创建函数式接口的实例,只要实现一个抽象方法即可,在这种情况下即可采用Lam...

2020-05-09 19:22:04 38 0

原创 JDK1.8自学之路-10(lambda表达式实例方法的引用- str::endsWith)

练习 1.测试类 package com.citic._11instance_method_lambda; import java.util.function.Function; /** * lambda测试实例方法的引用 * * @Package: com.citic._11in...

2020-05-07 21:55:09 31 0

原创 JDK1.8自学之路-09(lambda表达式静态方法的引用- Integer::parseInt)

练习 1.接口 package com.citic._10staticmethod_lambda; /** * 类型转换接口 * * @Package: com.citic._10staticmethod_lambda * @ClassName: ParseInterface *...

2020-05-07 21:33:06 76 0

原创 JDK1.8自学之路-08(lambda表达式构造方法的引用- Person::new)

练习: 1.实体类 package com.citic._09constructor_lambda; /** * 人物模型 * * @Package: com.citic._09constructor_lambda * @ClassName: Person * @author: ...

2020-05-06 20:37:14 43 0

原创 JDK1.8自学之路-08(lambda表达式作用域final)

在lambda表达式中访问外层作用域和老版本中的匿名对象中的方式相似; 可以直接访问标记了final的外层局部变量,或者实例字段以及静态变量。 要求局部变量必须是被final修饰的。 举例: 1.接口 package com.citic._08lambda3; public interf...

2020-05-06 20:16:55 32 0

原创 JDK1.8自学之路-08(lambda表达式基本使用无参无返回值的使用方法)

练习: 1.接口 package com.citic._07lambda2; public interface ITestService { void test(); } 2.测试类 package com.citic._07lambda2; /** * @Pack...

2020-05-06 20:03:39 41 0

原创 JDK1.8自学之路-07(lambda表达式基本使用接受1个参数且没有返回值的使用方法)

练习: 1.接口 package com.citic._06lambda; /** * @Package: com.citic._06lambda * @ClassName: IComputeService * @Description: <p>Description: ...

2020-05-06 19:52:56 44 0

原创 JDK1.8自学之路-06(lambda表达式基本使用接受2个参数的使用方法)

举例: 1.接口 package com.citic._05annoymousObject; /** * @Package: com.citic._05annoymousObject * @ClassName: IComputeService * @Description: <...

2020-05-05 23:08:07 32 0

原创 JDK1.8自学之路-05(匿名实现类对象)

匿名对象方法,一次编写一次使用,面向过程编程。 举例: 1.接口 package com.citic._05annoymousObject; /** * @Package: com.citic._05annoymousObject * @ClassName: IComputeServ...

2020-05-05 22:54:10 30 0

原创 JDK1.8自学之路-04(回顾普通接口实现类方法)

普通接口类实现方法均为,将接口方法一一实现,方法编写,一次编写,多次使用。 举例: 1.接口 package com.citic._04objectMethod; /** * @Package: com.citic._04objectMethod * @ClassName: Icom...

2020-05-05 22:49:10 16 0

原创 JDK1.8自学之路-03(函数式接口)

函数式接口:是指在一个接口中有且只有一个抽象方法,其他方法必须是static或者default的。使用@FunctionalInterface修饰函数式接口,如果该接口包含超过一个抽象方法的话,会报错。 举例: package com.citic._03functionInterface; ...

2020-05-05 22:45:54 16 0

原创 JDK1.8自学之路-02(接口的default方法)

jdk1.8之前,接口的方法都是被public abstract修饰的抽象方法,没有方法体 jdk1.8之后,接口可以有default方法,default方法必须有方法体,且可以被子接口继承或者实现类实现,可以被复写(可选择) 举例: 1.接口 package com.citic._02d...

2020-05-05 22:43:42 19 0

原创 JDK1.8自学之路-01(接口的静态方法)

jdk1.8之前,接口的方法都是被public abstract修饰的抽象方法,没有方法体 jdk1.8后,接口可以有静态方法,静态方法必须有方法体,但是不可以被子接口继承或者实现类实现,只能被接口本身调用,接口名.接口方法() 举例: 1.接口 package com.citic._...

2020-05-05 22:38:24 25 0

原创 springboot自学之路-18(springboot注册拦截器)

一、定义拦截器 MyIntercepter package com.example._09intercepter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax...

2020-05-05 19:36:21 47 0

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