您的位置:首页 > 编程语言

JOOQ 为table和view自动生成代码

2017-07-03 13:44 316 查看
JOOQ是一个Java的ORM框架,提供了基本的SQL构建、执行等功能,并且使用了链式的API,代码整洁易懂。JOOQ也提供了代码自动生成的功能,也就是根据数据库中的表或者视图生成相应的Java Bean,具体如下,在maven里面添加一个plugin:

<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>3.9.2</version>

<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>

<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
</dependencies>

<configuration>
<jdbc>
<driver>com.mysql.jdbc.Driver</driver>
<url>${spring.datasource.url}</url>
<username>${spring.datasource.username}</username>
<password>${spring.datasource.password}</password>
</jdbc>

<generator>

<database>
<!--下面这两行是为view也生成代码的关键-->
<!--force generating id'sfor everything in public schema, that has an 'id' field-->
<syntheticPrimaryKeys>public\..*\.id</syntheticPrimaryKeys>
<!--name for fake primary key-->
<overridePrimaryKeys>override_primmary_key</overridePrimaryKeys>

<name>org.jooq.util.mysql.MySQLDatabase</name>

<!--include和exclude用于控制为数据库中哪些表生成代码-->
<includes>.*</includes>
<!--<excludes></excludes>-->

<!--数据库名称-->
<inputSchema>xxxxxx</inputSchema>
</database>

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

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

</generator>
</configuration>
</plugin>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐