peacetrue model generator maven plugin

通过maven插件实现生成模型相关的源码

License

License

Categories

Categories

Maven Build Tools
GroupId

GroupId

com.github.peacetrue.modelgenerator
ArtifactId

ArtifactId

peacetrue-modelgenerator-maven-plugin
Last Version

Last Version

1.0-RELEASE
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

peacetrue model generator maven plugin
通过maven插件实现生成模型相关的源码
Project URL

Project URL

https://github.com/peacetrue/peacetrue-modelgenerator-maven-plugin
Source Code Management

Source Code Management

https://github.com/peacetrue/peacetrue-modelgenerator-maven-plugin

Download peacetrue-modelgenerator-maven-plugin

How to add to project

<plugin>
    <groupId>com.github.peacetrue.modelgenerator</groupId>
    <artifactId>peacetrue-modelgenerator-maven-plugin</artifactId>
    <version>1.0-RELEASE</version>
</plugin>

Dependencies

compile (6)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.5.0
com.github.peacetrue.modelgenerator : peacetrue-modelgenerator jar 1.0-SNAPSHOT
com.github.peacetrue.modelgenerator : peacetrue-modelgenerator-template jar 1.0-SNAPSHOT
com.github.peacetrue.modelgenerator : peacetrue-modelgenerator-model-datasource jar 1.0-SNAPSHOT
org.springframework.boot : spring-boot-autoconfigure jar 2.0.6.RELEASE
org.springframework : spring-jdbc jar 5.0.6.RELEASE

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-annotations jar 3.5

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

模型生成器maven插件

该插件用于根据模型信息生成相关的源码文件。

1. 演示效果

从数据库读取表信息, 生成相关的entity、mapper、service、service-impl、controller、html等文件, 实现基本的增删改查功能。

show how

2. 使用教程

2.1. 添加modelgenerator插件

<plugin>
    <groupId>com.github.peacetrue.modelgenerator</groupId>
    <artifactId>peacetrue-modelgenerator-maven-plugin</artifactId>
    <version>1.0-RELEASE</version>
    <configuration>
        <propertiesPath>file:${project.build.resources[0].directory}/application-datasource.properties</propertiesPath>  (1)
        <projectPath>${project.basedir}/aum-generated</projectPath>  (2)
    </configuration>
    <dependencies>
        <dependency>  (3)
            <groupId>com.github.peacetrue.modelgenerator</groupId>
            <artifactId>peacetrue-modelgenerator-template-aum</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>  (4)
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.197</version>
        </dependency>
    </dependencies>
</plugin>
  1. propertiesPath:指定数据源属性文件的位置

  2. projectPath:指定文件生成的位置

  3. 添加自定义模板依赖

  4. 添加数据库驱动依赖

2.1.1. propertiesPath

默认读取插件所在模块resources下的application-datasource.properties,示例为默认配置。

  • 从类路径读取:使用classpath:前缀,会从插件的依赖jar包中查找,需要开发者为该插件添加依赖

  • 从文件路径读取:使用file:前缀,一般会配置为从插件所在模块中读取

数据源的属性,基于spring-boot2, 示例中使用的h2数据源配置如下:

spring.datasource.type=org.h2.jdbcx.JdbcDataSource
spring.datasource.initialization-mode=always

详细配置参考 spring-boot属性配置列表

2.1.2. projectPath

默认为当前插件使用模块的上级模块, 一般在数据访问层模块中使用该插件, 然后向项目中的各个模块生成文件。 示例中,直接在插件所在模块下生成文件。

2.1.3. 模板依赖

开发者需要为该插件提供一套模板,用于生成文件。 示例为黄金管家所使用的模板。

模板的具体用法请参考 peacetrue-modelgenerator

2.1.4. 数据源驱动依赖

示例使用了h2内存数据库,创建了一张test表,并为其生成基本的CRUD代码和页面。

Versions

Version
1.0-RELEASE