preconditions

mysql database is installed

maven has been setted up properly

add depedenceies

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'maven' sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0.0'

repositories {
     mavenLocal()

mavenCentral()
  }

dependencies {
      testCompile group: "junit", name: "junit", version: "$junitVersion"
      compile group: "log4j", name: "log4j", version: "1.2.17"
      compile group: "org.slf4j", name: "slf4j-log4j12", version: "1.7.5"

compile group: "mysql", name: "mysql-connector-java", version: "5.1.31"

compile group: "org.liquibase", name: "liquibase-core", version: "3.3.5"

}

update database by liquibase API

public class Main {

    public static void main(String[] args) throws CommandLineParsingException, IOException {
List<String> defaultArgs = Arrays.asList(
"--logLevel=debug",
"--driver=org.gjt.mm.mysql.Driver",
"--url=jdbc:mysql://localhost/mysql",
"--username=root",
"--password=root",
"--changeLogFile=update_database.xml",
"update"
);
List<String> suppliedArgs = Arrays.asList(args);
List<String> liquibaseArgs = new ArrayList<String>();
liquibaseArgs.addAll(defaultArgs);
liquibaseArgs.addAll(suppliedArgs); liquibase.integration.commandline.Main.main(liquibaseArgs.toArray(new String[liquibaseArgs.size()]));
} }
update_database.xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd">
<includeAll path="update" />
</databaseChangeLog>

folder structure

C:\liquibase-example
---src
+---main
| +---java
| | \---com
| | \---liquibase
| | \---database
| \---resources
| \---update
\---test
+---java
\---resources

  

reference documents:

http://ju.outofmemory.cn/entry/90761

http://www.tuicool.com/articles/Uvm2iaj

examples

http://blog.csdn.net/gadbee5/article/details/23461883

liquibase with gradle and spring

https://alphahinex.github.io/2018/05/15/liquibase-with-gradle

LiquiBase 学习的更多相关文章

  1. SpringCloud学习2-Springboot监控模块(actuator)

    前言 学习一项新技术最大的困难是什么? 是资料.让人高兴的是找到了一本系统学习Spring Cloud的教程,<Spring Cloud微服务实战>, 接下来的学习目标将以此书顺序演进. ...

  2. 尚硅谷springboot学习14-自动配置原理

    配置文件能配置哪些属性 配置文件能配置的属性参照 自动配置的原理 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@Ena ...

  3. 学习Spring Boot:(二)启动原理

    前言 主要了解前面的程序入口 @@SpringBootApplication 这个注解的结构. 正文 参考<SpringBoot揭秘 快速构建微服务体系>第三章的学习,总结下. Sprin ...

  4. 【原创】SpringBoot & SpringCloud 快速入门学习笔记(完整示例)

    [原创]SpringBoot & SpringCloud 快速入门学习笔记(完整示例) 1月前在系统的学习SpringBoot和SpringCloud,同时整理了快速入门示例,方便能针对每个知 ...

  5. Liquibase+spring 初步使用

    现在的工作的项目中用了liquibase,感觉挺爽的,可以跟踪.管理数据库的重构.这对于很多需求变更较大的项目是非常不错的,特别是互联网的项目.(虽然互联网Nosql已经非常流行,不过俺觉得传统关系型 ...

  6. Flyway对比Liquibase(转)

    数据库迁移工具. 很多应用的运行是需要数据库支持的,而随着快速迭代,产品更替的节奏加快,除了产品本身需要不断更新以外,数据库也需要做出合适的管理了. 为什么需要数据库迁移管理 比如第一个版本的产品只包 ...

  7. 使用 Liquibase 管理数据库版本 - SpringBoot 2.7 .2 实战基础

    优雅哥 SpringBoot 2.7 .2 实战基础 - 05 -使用 Liquibase 管理数据库版本 在企业开发中,数据库版本管理好像是一个伪命题,大多项目都是通过 Power Designer ...

  8. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  9. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

随机推荐

  1. 王之泰201771010131《面向对象程序设计(java)》第四周学习总结

    王之泰201771010131<面向对象程序设计(java)>第四周学习总结 第一部分:理论知识学习部分 第四章 1.类与对象的基础概念. a.类(class)是构造对象的模板或蓝图.由类 ...

  2. .NET ActiveMQ类库

    ActiveMQ .NET类库 ActiveMQ是一种开源的,实现了JMS规范的,面向消息(MOM)的中间件,为应用程序提供高效的.可扩展的.稳定的和安全的企业级消息通信. 0. 准备 使用Nuget ...

  3. vue实现简单的购物车功能

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  4. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  5. Java GC机制中Minor GC/Full GC

    Minor GC Young GC Full GC Major GC https://blog.csdn.net/chenleixing/article/details/46706039 内存划分为 ...

  6. SSM获取表单数据插入数据库并返回插入记录的ID值

    以下指示插入操作以及获取记录值的ID的部分操作代码!!! 首先是简单的表单实现 <%@ page language="java" contentType="text ...

  7. java jdk动态代理学习记录

    转载自: https://www.jianshu.com/p/3616c70cb37b JDK自带的动态代理主要是指,实现了InvocationHandler接口的类,会继承一个invoke方法,通过 ...

  8. python学习(六)

  9. vsCode---进行HTML文件编辑与浏览器运行

    发现vsCode没有明显的绿色三角箭头指示程序运行. 那么想运行一个html文件咋办,可以直接去文件存放地用浏览器打开便可以了. 但是这样也挺麻烦的, 我们需要在vscode里商城搜索两个插件来支持我 ...

  10. CCF关于公开NOIP复赛选手程序的通告

    为使参加NOIP复赛的选手能了解和保存其竞赛时编制的程序,并相互监督,CCF责成各省特派员在复赛后公开选手程序. 公布方式:以提高组和普及组分别为单位,通过网站或邮件等方式公开.以每个选手可以看到本省 ...