# 代码生成工具 **Repository Path**: junge0114/codeTool ## Basic Information - **Project Name**: 代码生成工具 - **Description**: 基于velocity模板生成,可以自定义自己的模板,支持在线设计表结构,设计过程无需数据库支持 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-04-03 - **Last Updated**: 2024-04-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #代码生成器 ##原理 基于velocity模板生成,模板格式语法如下,更多详细的可自行查阅 >1、"#"用来标识Velocity的脚本语句,包括#set、#if 、#else、#end、#foreach、#end、#iinclude、#parse、#macro等; 如: #if($info.imgs) #else #end >2、"$"用来标识一个对象(或理解为变量);如 如:$i、$msg、$TagUtil.options(...)等。 >3、"{}"用来明确标识Velocity变量; 比如在页面中,页面中有一个$someonename,此时,Velocity将把someonename作为变量名,若我们程序是想在someone这 个变量的后面紧接着显示name字符,则上面的标签应该改成${someone}name。 >4、"!"用来强制把不存在的变量显示为空白。 如当页面中包含$msg,如果msg对象有值,将显示msg的值,如果不存在msg对象同,则在页面中将显示$msg字符。这是我们不希望的,为了把不存 在的变量或变量值为null的对象显示为空白,则只需要在变量名前加一个“!”号即可。 如:$!msg ##实现方式 >1、 为了便于多项目的生成,采用了模板的方式,不同项目采用不同的模板,可以在生成是选择指定的模板 >2、 当选择了模板之后标题根据名字后面加上.vm即可,如果名称或文件夹中需要通过替换的可以使用标识符用于替换 ##项目基本介绍 >1、项目启动 pom.xml中设置了基于jetty的启动方式 >2、项目的用途 用于根据自定义的模板来生成代码,模板可以自行定义,项目内嵌的demo是基于 springBoot+jpa+thymeleaf 的项目 >3、生成器代码框架 本生成器是基于 springMVC+spring+angularJs 开发的,项目没有持久层,数据直接通过xml保存的 ##设计自己的模板 >1、模板位置 模板文件位于项目下的 src/main/resources/template文件夹下 ,该目录下可以自行添加目录,每个目录为一套模板 当需要建立自己的模板时建议新建文件夹来设计,velocityTemp为内置模板可以作为参考 >2、配置文件说明 配置文件位于src/main/resources/config.properties文件中 osframe.file.path 代表临时文件的存储路径 osframe.auto.author 代码生成的作者 osframe.auto.page.type url地址的前缀 osframe.auto.default.template 默认的模板key,key代表模板文件夹名称 osframe.auto.template.key.velocityTemp 模板文件夹对应的中文名称,便于页面选择,该属性前面部分未固定的字符,最后面一个为模板文件夹名称 ## 使用说明 按如下7步 使用参考地址: https://my.oschina.net/u/2351717/blog/714818 >1、启动 修改下的src/main/resources目录下的config.properties文件中的osframe.file.path(附件地址)和osframe.auto.author(作者) 在jetty中启动项目,访问:http://localhost:8888,即可看到模块设计和表设计界面。 >2、访问地址 http://localhost:8888/ >3、创建模块 必须先配置模块,然后左侧表设计下方会出现配置的模块,点击模块后,再进行表配置。 模块配置,比较简单,重点配置好 模块名称和模块路径,如:新闻模块 包路径为:os.news 然后就是表结构设计,选中左侧的模块名称,右侧会出现表列表点击新建即可。 >4、创建表 表直接设置好表名、表描述和是否生成代码, >5、创建字段 字段名:必须,命名以下划线分隔,如:lb_name 字段描述:必须,字段的中文含义 字段长度:非必须 是否必填:非必须 Java字段类型:必须,选择各自类型 数据库字段类型:非必须 >6、生成代码 >7、下载代码 ##常用的变量 >注释相关 >>info 类的描述信息 >>author 作者名字 >>time 创建时间 >类相关 >>entity 实体名称 >>entityVar 实体变量(首字母小写) >>packages 模块包名 >>pageType 页面类型 >实体相关 >>table 表名 >>fieldList 字段列表 >>>fieldType 字段类型 >>>fieldName 字段名 >>>fieldNameMax 字段名首字母大写 >>>fieldLabel 字段中文名 >>>fieldLength 字段长度 >>>fieldIsNull 是否允许为空,默认允许 >>>tableField 表字段 >页面相关 >>jspEntityTitle 实体的标题 >>fieldList 字段列表 >>> fieldName 字段名 >>> fieldLabel 字段中文 >>> fieldName 字段名