Jooq自动生成代码

这里只说下自动生成代码的功能和一个我踩的坑。

最初的项目结构:
Jooq自动生成代码_第1张图片

我是用的springboot 框架,主要相关代码都在pom中:

<parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.0.0.RELEASEversion>
    parent>

    <properties>
        <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding>
        <java.version>1.8java.version>
    properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-jooqartifactId>
        dependency>
    dependencies>

        <build>
            <plugins>
                <plugin>
                    <groupId>org.jooqgroupId>
                    <artifactId>jooq-codegen-mavenartifactId>
                    <executions>
                        <execution>
                            <phase>generate-sourcesphase>
                            <goals>
                                <goal>generategoal>
                            goals>
                        execution>
                    executions>
                    <dependencies>
                        <dependency>
                            <groupId>mysqlgroupId>
                            <artifactId>mysql-connector-javaartifactId>
                            <version>5.1.42version>
                        dependency>
                    dependencies>

                    <configuration>
                        <jdbc>
                            <driver>com.mysql.jdbc.Driverdriver>
                            <url>jdbc:mysql://localhost:3306/url>
                            <username>rootusername>
                            <password>rootpassword>
                        jdbc>

                        <generator>
                            <database>
                                <name>org.jooq.util.mysql.MySQLDatabasename>
                                
                                <includes>.*includes>
                                

                                
                                <inputSchema>jooqdbinputSchema>
                            database>

                            <generate>
                                
                                <daos>truedaos>
                                <pojos>truepojos>
                                
                                <javaTimeTypes>truejavaTimeTypes>
                                
                                
                                <springAnnotations>falsespringAnnotations>
                            generate>

                            <target>
                                
                                <packageName>com.pk.db.genpackageName>
                                <directory>src/main/javadirectory>
                            target>

                        generator>
                    configuration>
                plugin>
            plugins>
        build>
project>

之后执行

mvn clean install 

就会生成相应代码:
Jooq自动生成代码_第2张图片

现在来做下说明:
jooq是通过连接上面配置的数据库找到数据库的表生成相应的java文件。
我这里做演示只设了一张表,如果有多张表则每张表都会有相应的代码,其中pojos中的类就是一般我们用到的实体类。
网上找了好多文章都没有对这点做说明的。

还有一点就是执行mvn clean install的时候如果出不来自动生成的代码就加上-Djooq,完整执行指令为mvn clean install -Djooq

你可能感兴趣的:(SpringBoot,jooq)