简介 在团队开发当中,有可能每个人都是使用自己本地的数据库.当数据库的表或者字段更新时,往往需要告知团队的其他同事进行更新. Flyway数据库版本迁移工具,目的就是解决该问题而诞生的(我自己想的).每当我们更新数据库的时候,只需要添加SQL文件到指定目录中.Flyway会在数据库创建一个表,专门记录已更新的SQL文件.当我们下次执行时则不会执行已记录并且执行成功的SQL文件. 整合 maven 现在的Flyway的最新版本已经到了6.4.2.我用的是6.3.3. <!-- https://mv…
目录 Flyway介绍 Flyway的工作模式 Flyway的使用场景 命令行 使用Maven或Gradle插件 migrate clean info validate baseline Java API step1:在maven中引入flyway依赖 step2:配置application step3:在指定的目录编写脚本 使用总结 Flyway介绍 Flyway的定位:数据库的版本控制. 用一种简单.干净的方案,帮助用户完成数据库迁移的工作.使用Flyway,用户可以从任意一个数据库版本迁移…
1.创建项目 方式一: 通过网站https://start.spring.io/ 方式二: 通过开发工具(IDEA或者Eclipse自行百度) 2.修改pom.xml配置文件,添加必要的驱动包 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3…
一:springboot整合redis redis版本:3.0.0 运行环境:linux 1.安装redis 1.1安装gcc yum install gcc-c++ 1.2解压redis.3.0.0.tar.gz压缩包 tar -zxvf redis-3.0.0.tar.gz 1.3进入解压后的目录进行编译 cd redis-3.0.0 make 1.4将redis安装到指定目录 make PREFIX=/usr/local/redis install 1.5启动redis ./redis-s…
1. MyBatis概述 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录. **** 2. MyBatis原理 简述MyBatis的原理 Mybatis--工作原理 实现了对Mapper接口对动态代理…
优雅哥 SpringBoot 2.7 .2 实战基础 - 05 -使用 Liquibase 管理数据库版本 在企业开发中,数据库版本管理好像是一个伪命题,大多项目都是通过 Power Designer 之类的工具建模.生成 SQL 语句,然后去数据库中执行.在开发过程中如果遇到修改表结构,再补充修改表结构的语句,大家依次去执行,在本地及各个环境中同步表结构.但这种模式,在我参与过的项目中或多或少都出现过问题:忘记同步表结构,导致在服务启动或运行时出错. 1 Liquibase 介绍 Spring…
前言 在上一篇学习SpringBoot中,整合了Mybatis.Druid和PageHelper并实现了多数据源的操作.本篇主要是介绍和使用目前最火的搜索引擎ElastiSearch,并和SpringBoot进行结合使用. ElasticSearch介绍 ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行封装,提供了 REST API 的操作接口 ElasticSearch作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析.…
在一次学习分布式跟踪系统zipkin中,发现了jooq这个组件,当时不知这个组件是干嘛的,后来抽空学习了一下,感觉这个组件还挺用的.它主要有以下作用: 通过DSL(Domain Specific Language )风格,利用Java代码写sql. 支持主流的RDMS和更多的特性,如self-joins,union,存储过程,复杂的子查询等. 提供GenerationTool,能够通过表结构自动生成代码. Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式.Flyway可以…
在springboot整合mybatis连接数据库的时候,项目中遇到一个SQLException,我检查了properties配置文件,看数据源有没有配错,检查有没有打错字,在数据库中把sql语句查询了一下也没有问题, 然后去网上百度,百度了许多种方法,也测试了还是没用. 之后想想是否是springboot整合mysql版本的问题,然后就去pom.xml中查询,查找它的父类 搜索了mysql并没有找到,然后在向上找 发现springboot整合的mysql是8.0.15 从maven官网找到了个…
一. Canal 简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更.从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务. 基于日志增量订阅和消费的业务包括 数据库镜像 数据库实时备份 索引构建和实时维护(拆分异构索引.倒排索引等) 业务…