-
Notifications
You must be signed in to change notification settings - Fork 1.3k
如何使用XBoot后端在30秒内开发出增删改接口
Exrick edited this page Feb 26, 2020
·
17 revisions
本文标题大多为宣传噱头,前提为已启动项目,数据库连接正常,未计算其他时间,请勿计较
使用代码生成器可不运行项目(自动生成表需要启动项目),这里为启动项目后生成代码的演示
-
第一步:输入实体类名生成代码
- 在
cn.exrick.xboot.generator.XbootGenerator
中输入你的实体类名后运行主函数即可,当然可修改其他配置信息【若文件已存在,不会覆盖生成】
- 运行后控制台提示成功,即可在配置的包路径下看到生成的代码文件【若文件不存在自动创建包文件夹及代码文件,若文件已存在不会覆盖原文件】
- 若生成错误可在主函数中启用删除方法,重新运行主函数即可删除刚生成的代码
- 此处演示项目已运行且已使用JRebel热更新工具,生成代码后稍等片刻或手动编译触发热更新,查看相关日志,可以在数据库看到Hibernate映射已帮我们建好的表,已包含
XBootBaseEntity
通用字段【表名根据实体类名驼峰法转换,前缀t_
可配置】
- 在
-
第二步:输入字段
- 找到刚生成的实体类,根据业务需求输入需要的字段,
@ApiModelProperty
为swagger接口文档注释,还可以使用@Column
注解做字段标注(详见下方说明),若不想入库的字段可以加上@Transient
注解(详见下节CRUD文档)
- 稍等片刻热更新后,我们可以看到数据库中字段变化【具体表设计请根据实际需求再修改】
- 找到刚生成的实体类,根据业务需求输入需要的字段,
-
到此一个实体类的基本增删改接口就已经完成了,打开在线接口文档即可进行测试 http://localhost:8888/swagger-ui.html
-
输入实体类字段后再次运行
XbootGenerator
的主函数【文件存在不会覆盖】,即可在控制台看到生成的条件构造分页获取代码,根据需要自行复制覆盖以下代码至实现方法ServiceImpl中- String类型默认使用Like,
like %*%
- 其余类型默认使用Equal,
==
- String类型默认使用Like,
- 该字段设为true后将自动生成树形结构相关所需添加接口以及字段,且含缓存设计
/**
* 是否生成树形结构相关接口
* 建议仅需修改
*/
private static final Boolean isTree = false;
-
树形结构可生成接口预览
JPA工作流相关代码生成【完整版】
- 该字段设为true后将自动生成工作流相关所需添加接口以及字段
/**
* 是否生成关联工作流相关接口
* 建议仅需修改
*/
private static final Boolean activiti = false;
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表示小数点所占的位数。
- 找到
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,
==
- String类型默认使用Like,