yujunyi的博客

  • 首页

  • 分类

  • 归档

kettle 教程(四):自定义 Java 代码

发表于 2018-09-18 | 分类于 kettle

背景

kettle 拥有很多自带的组件,能帮我们实现很多的功能。

但是我们总有一些很复(qi)杂(pa)的需求,用自带的组件实现不了,或者说实现起来很复杂。那么这时我们就要用到万能的组件了( Java 代码),通过自己写代码来实现任何想要的功能。

阅读全文 »

kettle 教程(三):条件判断 Switch Case

发表于 2018-09-13 | 分类于 kettle

介绍

Switch / Case,顾名思义,类似 Java 中的 Switch / Case,用于进行条件判断。是 kettle 中一个非常常用组件。

使用起来也非常简单,我们直接来看例子。

阅读全文 »

【转】分布式锁简单入门以及三种实现方式介绍

发表于 2018-09-12 | 分类于 JAVA

转载自 https://blog.csdn.net/xlgen157387/article/details/79036337

一、为什么要使用分布式锁

我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的Java多线程的18般武艺进行处理,并且可以完美的运行,毫无Bug!

注意这是单机应用,也就是所有的请求都会分配到当前服务器的JVM内部,然后映射为操作系统的线程进行处理!而这个共享变量只是在这个JVM内部的一块内存空间!

阅读全文 »

MySQL 的事务隔离级别

发表于 2018-09-07 | 分类于 数据库

我们先来回忆下什么是事务。

考虑一种场景。银行转账,甲转 100 给乙,分为两步:

  • 甲扣除 100
  • 乙增加 100

如果甲的钱扣了,乙的钱没有增加,那么数据就会不一致,这时候就要用到事务。因为事务的一个特性,就是原子性:要么不做,要么全做。

阅读全文 »

kettle 教程(二):常用输出(插入更新、表输出、执行 SQL 脚本)

发表于 2018-08-29 | 分类于 kettle

上一篇 文章 ,主要讲了 kettle 的原理、安装及简单的使用。其中用到了一种输出方式:插入更新。

这篇文章,主要介绍下常用的输出方式:插入更新、表输出、执行 SQL 脚本。

插入更新

插入更新,顾名思义,包括插入和更新两种情况。

我们需要先设置一个条件,符合条件时,进行更新操作;否则,进行插入操作。常见的条件就是判断表中的 ID 和流(上一个步骤的结果,可以理解为内存)中的 ID 是否相等,相等则更新;不等则插入。

阅读全文 »

kettle 教程(一):简介及入门

发表于 2018-08-23 | 分类于 kettle

介绍

kettle 是纯 java 开发,开源的 ETL工具,用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面,也有命令脚本还可以二次开发。

kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855,github 地址是 https://github.com/pentaho/pentaho-kettle。

安装

这边以 windows 下的配置为例,linux 下配置类似。

阅读全文 »

单例模式的破坏与改进

发表于 2018-08-21 | 分类于 JAVA

单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。

单例的特点

  1. 单例类只能有一个实例。
  2. 单例类必须自己创建自己的唯一实例。
  3. 单例类必须给所有其他对象提供这一实例。

单例模式的写法

可以参考这篇文章 单例模式的七种写法

阅读全文 »

spring mvc 统一异常处理

发表于 2018-08-15 | 分类于 spring mvc

简介

框架的强大之处就在于把很多需要重复编写的代码剥离出来,形成核心的处理方式。

在异常的处理这块,你不需要再有过多的 try-catch 语句,只需要把异常抛给框架就行了,框架帮你处理!

在 spring mvc 中的统一异常处理有3种,本文拿最简单的一种来演示 。

自定义异常

为了更精确的定位异常,区分异常种类,我们会用到自定义异常。

考虑下如下场景:系统需要提供一个 API,供其它系统查看消息,服务器之间采用 json 交互,这时候我们需要自定一个异常,用来表示逻辑受理失败(比如对方未传必填参数)。

阅读全文 »

【转】数据库两大神器【索引和锁】

发表于 2018-08-03 | 分类于 数据库

转载自 https://segmentfault.com/a/1190000015738121

前言

只有光头才能变强

索引和锁在数据库中可以说是非常重要的知识点了,在面试中也会经常会被问到的。

本文力求简单讲清每个知识点,希望大家看完能有所收获

声明:如果没有说明具体的数据库和存储引擎,默认指的是MySQL中的InnoDB存储引擎

阅读全文 »

跨域(三):代理解决跨域问题

发表于 2018-07-31 | 分类于 spring mvc

之前讲到了解决跨域的两种方式:JSONP 和 CORS ,都是需要在被调用方来修改代码解决的。

我们还可以通过代理方式,在调用方来解决跨域问题。

代理解决跨域问题

代理解决跨域问题的思路是:让发送出去的请求代理成是本域的 。

阅读全文 »
123

yujunyi

yujunyi的博客

28 日志
7 分类
© 2020 yujunyi
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Muse v6.5.0
苏ICP备18040805号