CodeGenerator

代码生成工具
授权协议 Apache
开发语言 Java
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 华萧迟
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

CodeGenerator 是一个使用 FreemarkerVelocity 模板来生代码的工具。

本生成器只是将数据库中的表结构数据提取出来,然后将这份结构模型提交给模板引擎, 根据你自定义的模板生成你需要的代码。

配置文件

    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <configuration>
        <classpath>
            <!-- 引入JDBC驱动,手动添加 -->
            <entry>lib/mysql-connector-java-5.1.36-bin.jar</entry>
        </classpath>
        <!-- 代码生成目标基准目录 -->
        <tagertProject>D:\temp</tagertProject>
        <!-- 基本包 -->
        <basePackage>org.joy</basePackage>
        <!-- 模块名 -->
        <moduleName>test</moduleName>
        <templates>
            <!-- 模板 ,手动添加 -->
            <template name="实体类" engine="freemarker">
                <!-- 模板文件 -->
                <templateFile>./entity.ftl</templateFile>
                <!-- 文件路径 -->
                <targetPath>${tagertProject}\src\${basePackage}\${moduleName}\entity\</targetPath>
                <!-- 文件名 -->
                <targetFileName>${table.className}.java</targetFileName>
                <!-- 文件编码 -->
                <fileEncoding>UTF-8</fileEncoding>
            </template>
        </templates>
    </configuration>

模板中可用的变量和方法

String       tagertProject       目标工程路径(代码保存的基准路径)
String       basePackage         基准包
String       moduleName          模块名

table 对象

属性

String       tableName           表名

String       tableType           表类型

String       tableAlias          表别名

String       remarks             表注释

String       remarksUnicode      表注释转Unicode后的字符串

String       className           实体类名

String       javaProperty        实体类作为属性时的名字 == ${table.className?uncap_first}

List<Column> primaryKeys         主键集

List<Column> baseColumns         基本字段集

List<Column> columns             所有字段  == primaryKeys + baseColumns

List<Key>    importedKeys        所有 importedKeys

List<Key>    exportedKeys        所有 exportedKeys

boolean      hasDateColumn       是否有日期类型字段

boolean      hasBigDecimalColumn 是否有 BigDecimal 字段

boolean      hasNotNullColumn    是否有非空的基本类型字段

boolean      hasNotBlankColumn   是否有非空的 String 字段

Column

属性

String  columnName        字段名

boolean primaryKey        是否为主键

boolean foreignKey        是否为外键

int     size              字段长度

int     decimalDigits     小数位长度

boolean nullable          是否可空

boolean unique            是否唯一值

boolean indexed           是否有索引

String  defaultValue      默认值

String  remarks           注释

String  remarksUnicode    数字转Unicode后的字符串

int     jdbcType          对应 java.sql.Types

String  jdbcTypeName      对应jdbcType的名称

String  javaProperty      属性名

String  javaType          java类型,比如String

String  fullJavaType      完整的Java类型,比如 java.lang.String

String  getterMethodName  Get方法名

String  setterMethodName  Set方法名

方法

boolean isString()        是否是字符串

boolean isFloatNumber()   是否是浮点型,含Float、Double、BigDecimal

boolean isIntegerNumber() 是否是整型,含Byte、Short、Integer、Long

boolean isBigDecimal()    是否是BigDecimal类型

boolean isBoolean()       是否是布尔类型

boolean isDate()          是否有日期类型,含Date、Timestamp、Time

boolean isBLOB()          是否有 BLOB、CLOB、LONGVARCHAR、LONGVARBINARY或VARBINARY

Key

String  pkTableName       PKTABLE_NAME

String  pkColumnName      PKCOLUMN_NAME

String  fkTableName       FKTABLE_NAME

String  fkColumnName      FKCOLUMN_NAME

Integer seq               KEY_SEQ
  • MP CodeGenerator String url = "jdbc:mysql:///xdb";        String username = "root";        String password = "123456";        String author = "towering";        String outputDir = "D:\\IdeaProject

  • MybatisPlus的代码生成器类_CodeGenerator spirngboot整合mybatisPlus 1,pom.xml的jar包: <dependencies> <!--lombok依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifac

  • 1.连接数据库 2.依赖添加 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <

  • <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</version> <relativePath/> <!-- lookup pa

  • # 前言 前言: 受 WTM 的影响,想自己尝试写一个自动生成WPF项目的代码生成器 本文主要用于介绍基础库中作者自定义的一些<基础服务>的使用。 作者的功底还不是很成熟,请大家多多包涵。 一、引用Vampirewal.Core基础库 详细Nuget引用请点击此处跳转到主介绍页面 二、使用 注意事项: 该日志模块严重依附于Vampirewal.Core库,请误单独使用 通过构造函数注入ILogge

  • 1:在application.properties中加入数据库连接配置 # 服务端口 server.port=8001 # 服务名 spring.application.name=service-edu # 环境设置:dev、test、prod spring.profiles.active=dev # mysql数据库连接 spring.datasource.driver-class-name=c

  • CodeGenerator代码生成器代码 依赖导入为5、6 package com.xxf.demo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybati

  • 1.mybatis-plus依赖,代码生成器还有其所需要模板velocity(默认) <mybatis-plus.version>3.1.0</mybatis-plus.version> <velocity.version>2.0</velocity.version> <connector.version>8.0.18</connector.vers

  • package com.atguigu.demo; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.bao

  • 新项目需要使用spring boot,用freemarker写代码生成模板,能省下很多时间。 因为项目需要entity,requestVO,responseVO,所以需要获取数据库数据生成封装类。 废话不多说,上代码记录一下。 注:数据类型不全,我只写了我能用到的   maven文件配置 <dependencies> <!-- 代码生成器依赖 --> <depen

  • # 前言 前言: 受 WTM 的影响,想自己尝试写一个自动生成WPF项目的代码生成器 本文主要用于介绍基础库中作者自定义的一些<基础服务>的使用。 作者的功底还不是很成熟,请大家多多包涵。 一、引用Vampirewal.Core基础库 详细Nuget引用请点击此处跳转到主介绍页面 二、使用 本基础库使用的IoC容器为自己写的,VampirewalIoC 1、特性介绍 通过使用特性标记,可实现类似M

 相关资料
  • Yaf提供了代码生成工具yaf_code generator, 所以也可以通过使用代码生成工具yaf_cg来完成这个简单的入门Demo 例 3.10. 代码生成工具的使用 php-yaf-src/tools/cg/yaf_cg sample 将得到的sample目录, 拷贝到Webserver的documentRoot目录下然后访问: 例 3.11. 在浏览器输入 http://www.y

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成

  • 大多数Blockly应用程序需要将块转换为代码以执行。本页描述如何将代码生成器添加到自定义块。 首先,转到generators/目录并选择与您要生成的语言(JavaScript,Python,PHP,Lua,Dart等)相对应的子目录。假设您的代码块不适合现有类别,请创建一个新的JavaScript文件。这个新的JavaScript文件需要包含在<script ...>编辑器的HTML文件中的标记

  • Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。 jboot.datasource.type=mysql jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo

  • 遵照此规范,在实际操作中,有许多重复。接下来推荐一款专为本规范量身定做的代码生成器 Laravel 5.x Scaffold Generator。 本扩展支持 5.1 ~ 5.5 版本的 Laravel。 只需要一个命令: 即可生成: $ php artisan make:scaffold Projects --schema="name:string:index,description:text:

  • 注: 内容来自官网资料 Java Generated Code 这个页面准确描述 protocol buffer 编译器为任何给定协议定义生成的java代码。proto2和proto3生成的代码之间的任何不同都将被高亮 - 注意在这份文档中描述的是这些生成代码的不同,而不是基本的消息类/接口,后者在两个版本中是相同的。在阅读这份文档之前你应该先阅读 proto2语言指南 和/或 proto3语言指