从零搭建flyway+maven+Spring Boot,快速上手java

从零搭建flyway+maven+Spring Boot

  • 开篇说明
  • flyway
  • Spring Boot搭建过程
  • flyway搭建过程
  • github源码地址

开篇说明

开发项目的第一步是什么?当然是项目的环境搭建了。不知道大家有没有被一些插件的版本搞得头疼呢?接下来我会更新几篇分别使用maven、gradle来搭建web项目的插件配置。本篇是flyway在maven项目中的配置,让我们快开始吧。

flyway

解释下flyway是干啥的。它是一款database migration tool。我把它理解为数据库创建、管理的工具。我们在本地写好数据库代码,就可以通过flyway将功能在数据库里实现,不必使用其他工具敲sql语句啥的,非常方便。

Spring Boot搭建过程

SpringBoot的更新实在是太快了,但是使用稳定版基本上没出过什么bug(我个人经历哈)。我选的是当前官网最新2.6.1。
从零搭建flyway+maven+Spring Boot,快速上手java_第1张图片
注意,阅读SpringBoot2.6.1的官方文档呢,对Maven和Gradle的版本还是有要求的。
从零搭建flyway+maven+Spring Boot,快速上手java_第2张图片
以下就是使用idea配置项目的情况了。选择java8,注意图中项目名字是spring-play,但是github源码被我后期改成了spring-play-mvn哈。
从零搭建flyway+maven+Spring Boot,快速上手java_第3张图片
由于是从零搭建,所以这里没有选择任何插件,直接点击下一步就行。
从零搭建flyway+maven+Spring Boot,快速上手java_第4张图片
查看maven版本3.8.3,注意SpringBoot2.6.1要求maven版本3.5+哈。
从零搭建flyway+maven+Spring Boot,快速上手java_第5张图片

flyway搭建过程

flyway的官方文档算是维护得好的,但是!根据官网配置的版本是有bug的!并且不知道如何解决‍♀️
下面看踩过坑后的稳妥做法。

首先引入flyway-core依赖,版本我都是参考网站mvnrepository-flywaycore下载量来的
从零搭建flyway+maven+Spring Boot,快速上手java_第6张图片

<dependency>
    <groupId>org.flywaydbgroupId>
    <artifactId>flyway-coreartifactId>
    <version>8.2.0version>
dependency>

plugin配置:此处建议指定plugin版本,flyway-core指定8.0.4plugin版本,如果按照官网配置8.2.2版本有bug!

注意下面configuration配置里,指定了配置文件的路径,为了方便管理,把flyway的配置全都存入flyway.conf。

<plugin>
    <groupId>org.flywaydbgroupId>
    <artifactId>flyway-maven-pluginartifactId>
    <version>8.0.4version>
    <configuration>
        <configFiles>
            <configFile>conf/flyway.confconfigFile>
        configFiles>
    configuration>
plugin>

flyway.conf文件配置参数:参考flyway-mysql-config
conf文件的配置都是比较简单的数据库配置,看参考链接里写得挺详细了。

最后是写数据库了。 此处参考flyway-maven-GetStart
注意sql文件的目录必须是src/main/resources/db/migration,sql文件的命名也必须是这个形式V版本号__表操作_table.sql

写sql文件的语法自行查看mysql语法哈。
从零搭建flyway+maven+Spring Boot,快速上手java_第7张图片

github源码地址

到这里就结束了。后面还会更新flyway在gradle项目中的配置、jooq在maven项目中的配置,敬请期待。

你可能感兴趣的:(java项目开发,maven,java,spring,boot,intellij-idea,后端)