在 IDEA 中 spring boot 如何配置jooq

首先创建项目

一、选择spring initializr

直接next

二、定义一些内容

自定义这一部分,这些是什么就不多说了,然后next

 加上红线圈起来的部分,其他的我也不知道是不是必需的,都加上吧,点next

 

 配置好名字路径什么的,finish

 三、配置项目

其实主要配置pow和一个jooq专属XML配置文件就好了。不过前提是数据库存在。

数据库建立这里就不写了,主要讲配置pow和XML

配置pow

把这个plugin放到pow文件内容下面的plugins里

<plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <configurationFile>src/main/resources/jooqconf.xml</configurationFile>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
                </dependencies>
            </plugin>

这是完整的,plugins

  <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <configurationFile>src/main/resources/jooqconf.xml</configurationFile>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>

这是完整的pow

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>jooq</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>jooq</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jooq</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <configurationFile>src/main/resources/jooqconf.xml</configurationFile>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.13</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project>

同一部分代码贴出来三次,每次长的不一样主要是让你看的明白。

其中

src/main/resources/jooqconf.xml

是jooq专属XML配置文件的内容,其他的都一样,不需要改。

这个jooqconf.xml是需要自己创建的,叫什么都行

配置jooq配置文件

先新建一个名叫jooqconf.xml的文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <jdbc>
        <driver>com.mysql.cj.jdbc.Driver</driver>
        <url>jdbc:mysql://localhost:3306/mb?serverTimezone=UTC</url>
        <username>root</username>
        <password>root</password>
    </jdbc>

    <generator>
        <database>
            <name>org.jooq.meta.mysql.MySQLDatabase</name>
            <!--                             include和exclude用于控制为数据库中哪些表生成代码 -->
            <includes>.*</includes>
            <excludes></excludes>
            <!--                             数据库名称-->
            <inputSchema>mb</inputSchema>
        </database>

        <generate>
            <!--                             生成dao和pojo -->
            <pojos>true</pojos>
            <!--                             把数据库时间类型映射到java 8时间类型-->
            <javaTimeTypes>true</javaTimeTypes>
            <interfaces>true</interfaces>
            <!--                             不在生成的代码中添加spring注释,比如@Repository -->
            <springAnnotations>false</springAnnotations>
            <validationAnnotations>false</validationAnnotations>
        </generate>

        <target>
            <!--                             生成代码文件的包名及放置目录 -->
            <packageName>com.example.db</packageName>
            <directory>src/main/java</directory>
        </target>
    </generator>
</configuration>
1、
jdbc:mysql://localhost:3306/mb?serverTimezone=UTC

是你数据库链接地址,其中mb是数据库名称,在这里指明名称后,在下面还得 指明一次

<inputSchema>mb</inputSchema>

2、

<target>
    <!--                             生成代码文件的包名及放置目录 -->
    <packageName>com.example.db</packageName>
    <directory>src/main/java</directory>
</target>

com.example.db是生成数据库模板文件对应的包名,不、需要手动创建,这个是自动生成的,而且名称可以自定义

src/main/java是项目路径,也是com.example.db所在的文件夹,是自带的,这个似乎不能自定义,也没必要

防止你们看不懂jooq配置文件,我再说一遍,一般配置这几个地方就行了

四、生成

点击 run->run maven g.......->clean

执行完再点击

run->run maven g......->compile就能生成模板文件了

 

ps:我的项目出现运行不了的情况,可能是因为pow配置了数据库,所以我在 application.yml里配置了数据库

server:
  port: 8080

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/mb?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    driver-class-name: com.mysql.cj.jdbc.Driver
发布了75 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sinat_40387150/article/details/102704776