多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 代码生成器 ## 使用后端代码生成器-共两步(以下主要演示JPA代码生成) > 使用代码生成器可不运行项目(自动生成表需要启动项目),这里为启动项目后生成代码的演示 ### 第一步:输入实体类名生成代码 * 输入你的实体类名后运行主函数即可,当然可修改其他配置信息【若文件已存在,不会覆盖生成】 * 运行后控制台提示成功,即可在配置的包路径下看到生成的代码文件【若文件不存在自动创建包文件夹及代码文件,若文件已存在不会覆盖原文件】 * 若生成错误可在主函数中启用删除方法,重新运行主函数即可删除刚生成的代码 ![](https://ooo.0o0.ooo/2020/02/26/iXsNFC981OAlGxQ.png) * 此处文档的演示已运行项目且已使用JRebel热更新工具,生成代码后稍等片刻或手动编译触发热更新,查看相关日志,可以在数据库中看到Hibernate映射DDL已帮我们建好的表,已包含`Tceon-PERFOOT BaseEntity`通用字段【表名根据实体类名驼峰法转换,前缀`t_`可配置】 ### 第二步:输入字段 * 找到刚生成的实体类,根据业务需求输入需要的字段,`@ApiModelProperty`为swagger接口文档注释,还可以使用`@Column`注解做字段标注(详见下方说明),若不想入库的字段可以加上`@Transient`注解(详见下节CRUD文档) * 稍等片刻热更新后,我们可以看到数据库中字段变化【具体表设计请根据实际需求优化修改,(https://www.kancloud.cn/exrickTceon-PERFOOT /1022511)】 * 到此一个实体类的基本增删改接口就已经完成了, ### 条件构造代码生成 * 输入实体类字段后再次运行`Tceon-PERFOOT Generator`的主函数【文件存在不会覆盖】,即可在控制台看到生成的条件构造分页获取代码,根据需要自行复制覆盖以下代码至实现方法ServiceImpl中 * String类型默认使用Like,`like %*%` * 其余类型默认使用Equal,`==` ### 树形结构相关代码生成 * 常量`isTree`字段设为true后将自动生成树形结构相关所需添加接口以及默认属性字段,且含缓存设计 ~~~ /** * 是否生成树形结构相关接口 * 建议仅需修改 */ private static final Boolean isTree = false; ~~~ * 树形结构可生成接口预览 ### JPA工作流相关代码生成 * 常量`activiti`字段设为true后将自动生成工作流相关所需添加接口以及字段 ~~~ /** * 是否生成关联工作流相关接口 * 建议仅需修改 */ private static final Boolean activiti = false; ~~~ ### @Column注解补充说明 ~~~ unique属性表示该字段是否为唯一标识,默认为false。如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@UniqueConstraint。 nullable属性表示该字段是否可以为null值,默认为true。 insertable属性表示在使用“INSERT”脚本插入数据时,是否需要插入该字段的值。 updatable属性表示在使用“UPDATE”脚本插入数据时,是否需要更新该字段的值。insertable和updatable属性一般多用于只读的属性,例如主键和外键等。这些字段的值通常是自动生成的。 columnDefinition属性表示创建表时,该字段创建的SQL语句,一般用于通过Entity生成表定义时使用。 table属性表示当映射多个表时,指定表的表中的字段。默认值为主表的表名。有关多个表的映射将在本章的5.6小节中详细讲述。 length属性表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符。 precision属性和scale属性表示精度,当字段类型为double时,precision表示数值的总长度,scale表示小数点所占的位数。 ~~~ ## 新增Mybatis-Plus后端代码生成器 * 找到`cn.exrick.Tceon-PERFOOT .generator.Tceon-PERFOOT MPGenerator`工具类,使用步骤同上,可自动生成相应`mapper.xml`空白文件至`resources/mapper`中 * Mybatis-Plus生成器可生成接口预览 ![](https://ooo.0o0.ooo/2019/04/11/5caf5c87bd0c1.png) * 注意若修改dao对应包路径出错后,需到`MybatisPlusConfig`配置添加你的mapper路径扫描 ~~~ /** * dao对应包 【注意修改后需到cn.exrick.Tceon-PERFOOT .config.mybatisplus.MybatisPlusConfig配置你的mapper路径扫描】 * (文件自动生成至该包下) */ private static final String daoPackage = "cn.exrick.Tceon-PERFOOT .modules.your.mapper"; ~~~ ### 已支持树形结构相关代码生成 * 常量`isTree`字段设为true后将自动生成树形结构相关所需添加接口以及默认属性字段,且含缓存设计 ~~~ /** * 是否生成树形结构相关接口 * 建议仅需修改 */ private static final Boolean isTree = false; ~~~ ### 条件构造代码生成 * 输入实体类字段后再次运行`Tceon-PERFOOT MPGenerator`的主函数【文件存在不会覆盖】,即可在控制台看到生成的条件构造分页获取代码,根据需要自行复制添加以下代码至控制层方法Controller中 * String类型默认使用Like,`like %*%` * 其余类型默认使用Equal,`==`