code-generator-maven-plugin(Maven代码生成器插件)

简介

code-generator-maven-plugin 在 Maven 项目中生成代码的 Maven 插件。主要包括:

  • code-generator:code:基于数据库表,自定义 velocity 代码模板,生成 CRUD 或前端代码;
  • code-generator:mybatis:基于数据库表,使用插件默认 MyBatis 模板生成 CRUD 代码;
  • code-generator:mybatis-plus:基于数据库表,使用插件默认 MyBatis-Plus 模板生成 CRUD 代码;
  • code-generator:jpa:基于数据库表,使用插件默认 JPA 模板生成 CRUD 代码;
  • code-generator:script:生成脚本。包括:Dockerfile, app.sh, app.bat 等脚本。

备注:

  • code-generator:code 插件理论可以生成任意前后台跟数据库表有关系的代码:如:Vue, Element-UI 代码等。
  • 理论支持所有支持JDBC连接的数据库:例如:DB2, DM, H2, Mariadb, MySQL, Oracle, Postgre, Sqlite, SQLServer

code-generator-maven-plugin更多相关信息请参考:

Gitee:      code-generator-maven-plugin

Github:    code-generator-maven-plugin

 

如何使用?

在标准 SpringBoot 项目,以开发工具 Intellij IDEA 为例:在 Maven 中引入 code-generator-maven-plugin 插件

<plugin>
   <groupId>com.github.mengweijin</groupId>
   <artifactId>code-generator-maven-plugin</artifactId>
   <version>Latest Version</version>
</plugin>

在Intellij IDEA 的 Maven 模块中找到下面图中的 code-generator 插件,然后双击对应的插件命令即可。

code-generator:code 插件需要在 maven 运行窗口根据提示输入数据库表名称,模块名称。并且执行前需要指定用户自定义模板的位置,参数参考文章下面的表格。

代码生成位置:在当前工程的 target/code-generator/ 目录下。

至此,初步使用完成。

全部配置使用(以 code-generator:code 插件为例)

<plugin>
   <groupId>com.github.mengweijin</groupId>
   <artifactId>code-generator-maven-plugin</artifactId>
   <version>Latest Version</version>
   <configuration>
      <config>
         <baseEntity>com.github.mengweijin.vitality.framework.mybatis.entity.BaseEntity</baseEntity>
         <templateDir>generator/vue</templateDir> 
         <tablePrefix>vtl_</tablePrefix>
         <author>mengweijin</author>
         <dbInfo>
            <username>root</username>
            <password>root</password>
            <url>jdbc:mysql://localhost:3306/vitality</url>
         </dbInfo>
      </config>
   </configuration>
</plugin>

参数配置说明

参数名称是否必填配置示例说明
authormengweijin类注释上面@author的值。 默认:取当前电脑的用户名
dbInfo.usernameroot数据库连接信息。如果是标准的SpringBoot工程,可以省略,会自动读取application.yml/yaml/properties文件。
dbInfo.passwordroot同上
dbInfo.urljdbc:mysql://192.168.83.128:3306/test同上。
tablePrefixsys_, rlt_要生成代码对应的数据库表名称的前缀。配置后,生成的entity类就不会带有表前缀了。如:User, UserRole。如果不配置,生成的entity类就会带有表前缀。如:SysUser, RltUserRole。多个表名称前缀使用逗号分隔
baseEntitycom.github.mengweijin.vitality.BaseEntity生成的entity类继承的父类
templateDirgenerator/vue仅 code-generator:code 插件参数,用户自定义模板相对于项目根目录的位置。

常见问题

  1. H2 数据库中表存在,但没有生成代码。
    • H2数据库默认区分表名称大小写,要么保证输入的表名称大小写完全一致,要么第一次创建 H2 数据库表时,jdbc url 参数增加 IGNORECASE=TRUE 参数。
  2. 如何自定义生成代码的模板?
    • 使用 code-generator:code 插件,并在 pom.xml 中配置 templateDir 参数。
    • 模板文件参考 code-generator-maven-plugin 工程下,src\main\resources\templates 目录下的 velocity 模板 *.vm 文件。
    • 模板参数参考 ITemplateEngine.java 类中的 getObjectMap 方法或其他 .vm 中用到的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用mavenmybatis-generator-maven-plugin插件自动生成实体映射文件时,我们首先需要在maven的pom.xml文件中配置插件。 在<build>标签下,添加如下代码: ``` <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <dependencies> <!-- 添加数据库驱动依赖 --> </dependencies> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> ``` 接下来,在项目的根目录下执行以下命令生成实体映射文件: ``` mvn mybatis-generator:generate ``` 执行完毕后,插件会根据配置信息,在项目的src/main/java目录下生成对应的实体类、mapper接口和xml映射文件。 在配置插件时,可以设置数据库连接信息、需要生成的表名、生成的实体类和映射文件的位置等。具体的配置信息可以参考官方文档。 生成的实体类对应数据库中的表结构,各个字段通过对应的get和set方法来访问。生成的mapper接口定义了对应的数据库操作方法,通过调用这些方法可以对数据库进行增删改查操作。生成的xml映射文件定义了实体类和数据库表之间的映射关系,通过该文件可以实现对象和表的相互转换。 通过使用mavenmybatis-generator-maven-plugin插件,我们可以简化开发人员编写实体映射文件的工作,提高开发效率和代码质量。同时,插件的配置灵活多样,可以根据项目的实际需求进行定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值