<parent>
<groupId>com.nbsaas.boot</groupId>
<artifactId>nbsaas-boot</artifactId>
<version>1.1.6-2023</version>
</parent>
本次更新内容
1. 数据请求全面从没用 json 格式数据提交,增加前端参数加密和后端响应加密功能。
2. 修改 vue3 代码生成模板
3. 增加 @EncryptionData 注解,放到参数上,后台认为请求需要加密,进行解密。放到方法头上,aes 加密响应请求。
4. 增加 mybatis mapper 文件夹生成 Command
5. 增加数据库逻辑删除代码生成功能
6. 修改后台代码生成器模板代码
nbsaas-boot 具有以下特点:
自动建表:nbsaas-boot 提供了自动建表功能,根据用户定义的数据模型自动生成数据库表结构,减少手动操作,提高开发效率。
支持 jpa,mybatis-plus 等数据库 orm。内置一套访问数据的注解 DSL
开发规范:nbsaas-boot 提供一套开发规范,包括代码风格、命名规范、注释规范等,使团队开发更加规范化和高效化。
代码生成器:nbsaas-boot 提供代码生成器,根据数据模型自动生成前端和后端代码,提高开发效率和代码质量。
多租户支持:nbsaas-boot 支持多租户,为不同客户提供独立的数据存储空间和访问权限,保证数据安全性和隔离性
通过 Command 处理复杂的业务
InputRequestObject context = new InputRequestObject();
context.setConfig(config);
context.setFormBean(formBean);
new DomainCommand()
.after(new ApiCommand())
.after(new ConvertCommand())
.after(new ControllerFrontCommand())
.after(new RestCommand())
.after(new ExtApiCommand())
.after(new RepositoryCommand())
.after(new FieldCommand())
.after(new FinishCommand()).execute(context);
模型构建
@CatalogClass
@FormAnnotation(title = "组织架构管理", model = "组织架构", menu = "1,27,88")
@Data
@Entity
@Table(name = "sys_structure")
public class Structure extends CatalogEntity {
@FormField(title = "父分类名称")
@Comment("父分id")
@FieldName
@FieldConvert(classType = "Integer")
@ManyToOne(fetch = FetchType.LAZY)
private Structure parent;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")
private List<Structure> children;
}
搜索模型
@Data
public class ArticleSearch extends PageRequest implements Serializable {
/**
* 主键id ==查询
**/
@Search(name = "id", operator = Operator.eq)
private Long id;
/**
* 文章标题 模糊查询
**/
@Search(name = "title", operator = Operator.like)
private String title;
}
通过模型数据提取,然后通过代码生成器生成后端代码 + vue3 后端管理代码
项目最佳实践:https://gitee.com/quhaodian/nbsaas-mall2
基础功能项目 https://gitee.com/cng1985/nbsaas-boot-starter
项目脚手架 https://gitee.com/cng1985/nbsaas-admin
vue3 后台管理脚手架 https://gitee.com/cng1985/nbsaas-admin-vue3