首先创建项目
一、选择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