IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 从零开发项目-jooq在maven中的配置 -> 正文阅读

[Java知识库]从零开发项目-jooq在maven中的配置

开篇说明

jooq是一个开源框架。它可以将数据库表转化成相应的java类,并在此基础上提供了一套数据处理的API。关于更多信息请官网
本文是关于jooq在maven中的配置说明,项目基于上篇flyway在maven中的配置。参考了从零开始jooq

jooq配置流程

  1. 配置依赖
    jooq最新是3.15.5版本
<dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jooq</artifactId>
        <version>3.15.5</version>
</dependency>
  1. 配置plugin
<plugin>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen-maven</artifactId>
        <configuration>
            <jdbc>
                <driver>com.mysql.cj.jdbc.Driver</driver>
                <url>jdbc:mysql://127.0.0.1:3306/spring_play?serverTimezone=GMT%2B8</url>
                <user>root</user>
                <password>123456</password>
            </jdbc>
            <generator>
                <database>
                    <inputSchema>spring_play</inputSchema>
                    <excludes>flyway_schema_history</excludes>
                </database>
                <target>
                    <packageName>com.slj.springplaymvn.codegen</packageName>
                    <directory>/src/main/java</directory>
                </target>
            </generator>
        </configuration>
</plugin>
  1. 配置configuration说明
  • jdbc配置:数据库连接配置,不做说明。
  • <inputSchema>spring_play</inputSchema>:一般填数据库名字
  • <excludes>flyway_schema_history</excludes>:flyway_schema_history表不生成对应的java代码
  • <packageName>com.slj.springplaymvn.codegen</packageName>:生成的java代码存放的包名,codegen是生成的新文件夹。包里不能有其他的业务,因为jooq代码生成是全量的,每次该文件夹的内容会全部更新
  • <directory>/src/main/java</directory>:目录,使用idea默认配置生成的项目一般是/src/main/java
  • 更多参数参考:jooq插件配置
  1. 效果如图所示
    结果

flyway结合jooq

jooq官网对flyway和jooq的合体做了更进一步的扩展。
正常情况下我们的开发流程如下图所示:
结构
那有没有办法在数据库脚本修改后,一个指令操作,是两个插件同时更新呢?jooq官网给出了方案
但是!此方案jooq的版本不能指定为3.15.5,去掉版本号之后默认安装的是jooq3.14.15,此时再单独执行jooq generator会报错!
报错
如何配置在于读者自行选择,之后的项目维护中我会按照jooq3.15.5版本处理。

  1. 方案最大的改动是增加了execution部分,直接上xml
<plugins>
       <plugin>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-maven-plugin</artifactId>
       </plugin>
       <plugin>
           <groupId>org.flywaydb</groupId>
           <artifactId>flyway-maven-plugin</artifactId>
           <executions>
               <execution>
                   <phase>generate-sources</phase>
                   <goals>
                       <goal>migrate</goal>
                   </goals>
               </execution>
           </executions>
           <configuration>
               <url>${db.url}</url>
               <user>${db.user}</user>
               <password>${db.password}</password>
           </configuration>
       </plugin>
       <plugin>
           <groupId>org.jooq</groupId>
           <artifactId>jooq-codegen-maven</artifactId>

           <executions>
               <execution>
                   <id>java-generator</id>
                   <phase>generate-sources</phase>
                   <goals>
                       <goal>generate</goal>
                   </goals>

                   <configuration>
                       <jdbc>
                           <url>${db.url}</url>
                           <user>${db.user}</user>
                           <password>${db.password}</password>
                       </jdbc>
                       <generator>
                           <database>
                               <inputSchema>spring_play</inputSchema>
                               <excludes>flyway_schema_history</excludes>
                           </database>
                           <target>
                               <packageName>com.slj.springplaymvn.codegen</packageName>
                               <directory>/src/main/java</directory>
                           </target>
                       </generator>
                   </configuration>
               </execution>
           </executions>
       </plugin>
</plugins>
  1. 终端执行mvn clean install,两个插件一起运行结果如下图所示。
    在这里插入图片描述

github源码地址

如果代码已经被改动,可以通过提交信息,查看此文配置的修改。

如何查看github项目的历史提交

之后的项目会添加更多的功能,敬请期待。最近工作有点累,但还是努力学习中,加油!💪

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-12-23 15:37:37  更:2021-12-23 15:39:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:26:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码