Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jooq为不同的数据库生成不同的文件名_Java_Maven_Jooq - Fatal编程技术网

Java Jooq为不同的数据库生成不同的文件名

Java Jooq为不同的数据库生成不同的文件名,java,maven,jooq,Java,Maven,Jooq,因此,我目前正在学习环境中使用jooq,希望能够在其他数据库中简单地使用它。最初有一个sqlite数据库,并使用以下针对maven的pom配置迁移到mariadb,唯一的区别是db url、驱动程序和元数据 <plugin> <groupId>org.jooq</groupId> <artifactId>jooq-codegen-maven</artifa

因此,我目前正在学习环境中使用jooq,希望能够在其他数据库中简单地使用它。最初有一个sqlite数据库,并使用以下针对maven的pom配置迁移到mariadb,唯一的区别是db url、驱动程序和元数据

            <plugin>
                <groupId>org.jooq</groupId>
                <artifactId>jooq-codegen-maven</artifactId>
                <version>3.13.1</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <jdbc>
                        <driver>org.mariadb.jdbc.Driver</driver>
                        <!--suppress UnresolvedMavenProperty -->
                        <url>${db.url}</url>
                    </jdbc>
                    <generator>
                        <database>
                            <name>org.jooq.meta.mariadb.MariaDBDatabase</name>
                            <includes>.*</includes>
                        </database>
                        <target>
                            <packageName>org.learn_java.db.autogen</packageName>
                        </target>
                    </generator>
                </configuration>
            </plugin>
它在不同的位置生成Info表

.tables.INFO // for sqlite
.tables.Info.INFO // for mariadb

有没有办法标准化它在哪里生成表类?

在SQLite中,没有模式,即只有默认模式。在其他数据库产品中,有一种模式的概念(在SQLServer的情况下,甚至还有目录),它在数据库和jOOQ生成的代码中充当数据库对象的名称空间

您没有为代码生成指定要包含的模式,因此jOOQ为所有可用的模式生成代码(在SQLite中只有一个,在MariaDB中有几个),为每个模式生成额外的子包。要防止出现这种情况,请使用


org.jooq.meta.mariadb.MariaDBDatabase
信息
.*

。或者,您可以。

在SQLite中,没有模式,即只有默认模式。在其他数据库产品中,有一种模式的概念(在SQLServer的情况下,甚至还有目录),它在数据库和jOOQ生成的代码中充当数据库对象的名称空间

您没有为代码生成指定要包含的模式,因此jOOQ为所有可用的模式生成代码(在SQLite中只有一个,在MariaDB中有几个),为每个模式生成额外的子包。要防止出现这种情况,请使用


org.jooq.meta.mariadb.MariaDBDatabase
信息
.*
。或者,你也可以

CREATE TABLE IF NOT EXISTS INFO
(
   TAG_NAME varchar(30) PRIMARY KEY,
   MESSAGE varchar(2000) NOT NULL
);
.tables.INFO // for sqlite
.tables.Info.INFO // for mariadb