Skip to main content

生成代码

Project description

gencode

gencode 代码生成工具,可以连接MySQL\Oracle\postgresql\sqlite根据jinjan2模板生成出自已想要的代码

安装

pip install gencode

使用方式

在模板文件所在的目录里执行

gendcode -c config.yml

配置文件

config.yml
# 模板文件地址
#templatePath: '/data'
dbConf:
  # MySQL / Oracle / Sqlite / postgresql
  db_type: MySQL
  db_name: admin
  user: admin
  pwd: Vile123adMin_#
  host: 127.0.0.1
  # 多表使用;分割
  table_name: sys_operator

# Java
dataTypeMapping:
  varchar|text: String
  decimal(10,2): int

# Python
#dataTypeMapping:
#   default:
#  varchar(*)|text: str

myself:
  author: liuzhuo
  mail: liuzhuogood@foxmail.com
  sign: 我的签名

jinja2:
  variable_start_string: '{{'
  variable_end_string: '}}'

模板变量

变量 示例 说明
XX_TABLE_NAME SYS_BULLETIN_FILE 表名变形
xx_table_name sys_bulletin_file 表名变形
XxTableName SysBulletinFile 表名变形
xxTableName sysBulletinFile 表名变形
TableName BulletinFile 表名变形
tableName bulletinFile 表名变形
table_name bulletin_file 表名变形
xx sys 表名变形
XX SYS 表名变形
date 2021-10-11 当前日期
datetime 2021-10-11 10:10:10 当前时间
author liuzhuo 名称
mail liuzhuogood@foxmail 邮箱
sign 自动生成代码 签名
comment 文件表 表备注
columns <参考columns集合> 列集合
columns集合
关键字 说明
column_name 列名变形
COLUMN_NAME 列名变形
ColumnName 列名变形
ColumnName 列名变形
columnname 列名变形
COLUMNAME 列名变形
comment 列名备注
dataType 列名 的类型,可以通过配置映射
is_pk 1:是主键 0:不是主键
方法
  • ljust(str,[width],[fill_char]) : 左补全字符
  • rjust(str,[width],[fill_char]) : 右补全字符

模板

模板可以是文件目录,也可是文件,如果是文件为了区分必须以.gcode后缀命名,比如:

{{XxTableName}}Po.java.gcode
package {{xx}}

/**
 {{comment}} 实体类
 author: {{author}}
 mail: {{mail}}
*/
public class {{TableName}}{
    {% for c in columns %}
        private {{c.dataType}} {{c.columnName}};  //{{c.comment}}

        /**{{c.comment}}*/
        public {{c.dataType}} get{{c.ColumnName}}(){return {{c.columnName}};};

        /**{{c.comment}}*/
        public void set{{c.ColumnName}}({{c.dataType}} {{c.columnName}}){this.{{c.columnName}}={{c.columnName}};};
    {% endfor %}

}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genCode-0.0.33.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genCode-0.0.33-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file genCode-0.0.33.tar.gz.

File metadata

  • Download URL: genCode-0.0.33.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for genCode-0.0.33.tar.gz
Algorithm Hash digest
SHA256 db2523f3b5cce736bd95b4418060445c05ed35000988049494359c0ede25b11e
MD5 395667233e262df27cf03b99b0650d6c
BLAKE2b-256 450b6c436cdd341d164cd3821bde1a3bca3206e777010e2de36dbd0c6925e679

See more details on using hashes here.

File details

Details for the file genCode-0.0.33-py3-none-any.whl.

File metadata

  • Download URL: genCode-0.0.33-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for genCode-0.0.33-py3-none-any.whl
Algorithm Hash digest
SHA256 764ddbd600035df907e0426bbcb85732f5d330f76ab23739458abca7973b81cf
MD5 093efbb2cdddeed14e5bbac1ab8c5b01
BLAKE2b-256 882ff76b2eee26f6072f77dfdaadc1fc44fb834d8cf218500d04c2d93db2e6f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page