SnapAdmin:为Spring Boot自动生成数据库CRUD管理界面


在几分钟内为您的Spring Boot应用程序生成功能强大的 CRUD 管理仪界面。适用于 Spring Boot 应用程序的即插即用、自动生成的 CRUD 数据库管理面板。

SnapAdmin 扫描您的@Entity类并自动为您的数据库架构构建具有 CRUD 操作的 Web UI。无需修改您现有的代码

SnapAdmin 通过提供成熟的数据库管理界面来节省您的时间,以便您可以专注于重要的事情。无需修改您的代码库:SnapAdmin 会扫描您的代码并在运行时构建所有内容。

  • 适用于所有实体及其关联的完整 CRUD 功能,并对 JPA 验证约束和多种字段类型提供开箱即用的支持。
  • 通过将注释应用到您的类、方法和字段来自定义 SnapAdmin。您可以应用自定义格式和命名、创建自定义列等。
  • 通过 SnapAdmin,您还可以获得:写入操作的审核日志、高级过滤和搜索、数据导出(CSV、XLSX、JSONL)以及用于运行和保存频繁查询的 SQL 控制台。

特征:

  • 列出具有分页和排序的对象
  • 对象详细信息页面,其中还包括@OneToMany相关@ManyToMany对象
  • 创建/编辑对象
  • 操作日志:通过 Web UI 执行的所有写入操作的历史记录
  • 高级搜索和过滤
  • 基于注释的定制
  • 数据导出(CSV、XLSX、JSONL)
  • SQL 控制台运行、保存以供以后使用以及导出自定义 SQL 查询的结果

支持的 JPA 注释
  • 核心:@Entity、@Table、@Column、@Lob、@Id、@GenerateValue
  • 关系:@OneToMany、@ManyToOne、@ManyToMany、@OneToOne
  • 验证:所有 JPA 验证注释 ( jakarta.validation.constraints.*)

1、安装:

<dependency>
    <groupId>tech.ailef</groupId>
    <artifactId>snap-admin</artifactId>
    <version>0.1.9</version>
</dependency>

2、配置 SnapAdmin:

将所需的最少属性添加到您的application.properties文件中。

# the root path of all SnapAdmin routes
dbadmin.baseUrl=admin

# comma-separated list of packages to scan for @Entity classes
dbadmin.modelsPackage=your.models.package

复杂配置:

## URL 路径的第一级部分: http://localhost:8080/${baseUrl}/
dbadmin.baseUrl=admin

## 包含 @Entity 类的软件包
##接受多个逗号分隔的值
dbadmin.modelsPackage=your.models.package,your.second.models.package

## 目前,需要将 open-in-view 设置为 true
# spring.jpa.open-in-view=true

## 可选参数
## 是否启用 SnapAdmin
# dbadmin.enabled=true
#
#
## 如果需要运行测试,请设置为 true,因为它将为内部数据源定制
##数据库配置
# dbadmin.testMode=false
#
## 启用/禁用 SQL 控制台(默认为 true
# dbadmin.sqlConsoleEnabled=false

3、启用SnapAdmin
在@SpringBootApplication类顶部添加以下内容以启用 SnapAdmin 自动配置。

@ImportAutoConfiguration(SnapAdminAutoConfiguration.class)