Skip to content

如何使用XBoot后端在30秒内开发出增删改接口

Exrick edited this page Feb 26, 2020 · 17 revisions

本文标题大多为宣传噱头,前提为已启动项目,数据库连接正常,未计算其他时间,请勿计较

使用后端代码生成器共需要两步(以下演示为JPA代码生成)

使用代码生成器可不运行项目(自动生成表需要启动项目),这里为启动项目后生成代码的演示

  • 第一步:输入实体类名生成代码

    • cn.exrick.xboot.generator.XbootGenerator 中输入你的实体类名后运行主函数即可,当然可修改其他配置信息【若文件已存在,不会覆盖生成】
    • 运行后控制台提示成功,即可在配置的包路径下看到生成的代码文件【若文件不存在自动创建包文件夹及代码文件,若文件已存在不会覆盖原文件】
    • 若生成错误可在主函数中启用删除方法,重新运行主函数即可删除刚生成的代码
    • 此处演示项目已运行且已使用JRebel热更新工具,生成代码后稍等片刻或手动编译触发热更新,查看相关日志,可以在数据库看到Hibernate映射已帮我们建好的表,已包含XBootBaseEntity通用字段【表名根据实体类名驼峰法转换,前缀t_可配置】
  • 第二步:输入字段

    • 找到刚生成的实体类,根据业务需求输入需要的字段,@ApiModelProperty为swagger接口文档注释,还可以使用@Column注解做字段标注(详见下方说明),若不想入库的字段可以加上@Transient注解(详见下节CRUD文档)
    • 稍等片刻热更新后,我们可以看到数据库中字段变化【具体表设计请根据实际需求再修改】
  • 到此一个实体类的基本增删改接口就已经完成了,打开在线接口文档即可进行测试 http://localhost:8888/swagger-ui.html

    QQ截图20180826180920.png

条件构造代码生成

  • 输入实体类字段后再次运行XbootGenerator的主函数【文件存在不会覆盖】,即可在控制台看到生成的条件构造分页获取代码,根据需要自行复制覆盖以下代码至实现方法ServiceImpl中

    • String类型默认使用Like,like %*%
    • 其余类型默认使用Equal,==

树形结构相关代码生成

  • 该字段设为true后将自动生成树形结构相关所需添加接口以及字段,且含缓存设计
/**
 * 是否生成树形结构相关接口
 * 建议仅需修改
 */
private static final Boolean isTree = false;
  • 树形结构可生成接口预览

JPA工作流相关代码生成【完整版】

  • 该字段设为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.xboot.generator.XbootMPGenerator工具类,使用步骤同上,可自动生成相应mapper.xml空白文件至resources/mapper
  • Mybatis-Plus生成器可生成接口预览
  • 注意若修改dao对应包路径出错后,需到MybatisPlusConfig配置添加你的mapper路径扫描
/**
 * dao对应包 【注意修改后需到cn.exrick.xboot.config.mybatisplus.MybatisPlusConfig配置你的mapper路径扫描】
 * (文件自动生成至该包下)
 */
private static final String daoPackage = "cn.exrick.xboot.modules.your.mapper";

条件构造代码生成

  • 输入实体类字段后再次运行XbootMPGenerator的主函数【文件存在不会覆盖】,即可在控制台看到生成的条件构造分页获取代码,根据需要自行复制添加以下代码至控制层方法Controller中

    • String类型默认使用Like,like %*%
    • 其余类型默认使用Equal,==