Skip to content

masterLiuy/java_dto_generator

 
 

Repository files navigation

java_dto_generator

###版本:

  • v1.1

###更新时间:

  • 2016.4.23

###更新说明:

  • 1.支持excel描述嵌套的结构体,目前仅支持2层嵌套

###项目目标:

  • 根据excel描述的协议字段, 生成java dto文件

###项目背景:

  • 解决项目组手写dto比较费时的问题,有效缩短花费时间.
  • 协议字段评审过后,通过该工具自动生成dto, 提高开发效率
  • 目前评审采用的是excel文件

###项目使用方法:

  • step1.在当前目录新建ExcelConf.py文件, 格式如下, 具体参数根据业务需要自己配置
  • step2.运行run.py
  • step3.在output目录中,查看生成的dto文件
#!/usr/bin/env python
# coding=utf-8

service_mybusiness = {
    "service_name": "mybusiness",
    "protocol_file": "D:\docs\mybusiness.xls",
    "package_name": "com.test.mybusiness",

    # 维护sheet名与所对应的dto类名之间的映射
    "sheets_name_dict": {
        "sheet1":"mybusiness1",
        "sheet1":"mybusiness2",
    },

    # 字段在excel文件中的列位置, 从0开始计数, 例如第一列,即为0
    # field_id : 序号,  生成工具读到序号为1的字段时,将开始生成新的dto
    # field_name : 字段名, 生成工具会将其转换为驼峰格式
    # field_comment : 注释, 若希望关闭注释,请在CodeTemplate.py中修改或者通过set_option_comment修改
    # field_len : 字段长度
    # field_state : 字段状态-require option condition
    # field_detail : 字段补充说明
    "sheets_field_position": {
        "field_id": 0,
        "field_name": 1,
        "field_comment": 2,
        "field_type": 3,
        "field_state": 4,
        "field_detail": 5,
    },

    # 行数据格式要求, 生成工具会依据以下条件,检查数据是否符合要求, 不满足则过滤
    "sheets_row_format": {
        "field_min_num": 6,
    }
}

service = service_mybusiness

# excel描述信息,代码生成工具会解析此处的配置信息,用于生成Dto代码
excel_conf = dict(
        service_name=service.get("service_name"),
        protocol_file=service.get("protocol_file"),
        package_name=service.get("package_name"),
        sheets_name_dict=service.get("sheets_name_dict"),
        sheets_row_format=service.get("sheets_row_format"),
        sheets_field_position=service.get("sheets_field_position"),
)

About

根据excel描述的协议字段, 生成java dto文件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%