每月归档: 2018年8月

4 篇

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

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

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

插入更新

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

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

继续阅读

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

介绍

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

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

安装

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

继续阅读

单例模式的破坏与改进

单例模式

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

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

单例的特点

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

单例模式的写法

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

继续阅读

spring mvc 统一异常处理

简介

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

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

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

自定义异常

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

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

继续阅读