实战项目-快速实战-springboot dataway

2024-09-03 09:44

本文主要是介绍实战项目-快速实战-springboot dataway,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最后附项目源码, 开箱即用

访问地址

http://127.0.0.1:8101/interface-ui/#/

效果图

具体怎么用, 大家还是看官网,中文文档
https://www.dataql.net/docs/dataway/ui/ui-list
在这里插入图片描述

项目结构

在这里插入图片描述

代码

DataWayApplication

package com.zero.dataway;import net.hasor.spring.boot.EnableHasor;
import net.hasor.spring.boot.EnableHasorWeb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@EnableHasor
@EnableHasorWeb
@SpringBootApplication(scanBasePackages = {"com.zero.hasor"})
public class DataWayApplication {public static void main(String[] args) {SpringApplication.run(DataWayApplication.class, args);}
}

HasorModule

package com.zero.hasor;import net.hasor.core.ApiBinder;
import net.hasor.core.DimModule;
import net.hasor.db.JdbcModule;
import net.hasor.db.Level;
import net.hasor.spring.SpringModule;
import org.springframework.stereotype.Component;import javax.annotation.Resource;
import javax.sql.DataSource;@DimModule
@Component
public class HasorModule implements SpringModule {@Resourceprivate DataSource dataSource;@Overridepublic void loadModule (ApiBinder apiBinder) throws Throwable {apiBinder.installModule(new JdbcModule(Level.Full, this.dataSource));}
}

application.yml

#
server:port: 8101
spring:application:name: dataway-demodatasource:url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=falseusername: rootpassword: rootdriver-class-name: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSource# druiddruid:initial-size: 3min-idle: 3max-active: 10max-wait: 60000stat-view-servlet:login-username: adminlogin-password: adminfilter:stat:log-slow-sql: trueslow-sql-millis: 1# 是否启用 Dataway 功能(必选:默认false)
HASOR_DATAQL_DATAWAY: true
# 是否开启 Dataway 后台管理界面(必选:默认false)
HASOR_DATAQL_DATAWAY_ADMIN: true
# dataway  API工作路径(可选,默认:/api/)
HASOR_DATAQL_DATAWAY_API_URL: /api/
# dataway-ui 的工作路径(可选,默认:/interface-ui/)
HASOR_DATAQL_DATAWAY_UI_URL: /interface-ui/
# SQL执行器方言设置(可选,建议设置)
HASOR_DATAQL_FX_PAGE_DIALECT: mysql

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.zero</groupId><artifactId>dataway-demo</artifactId><version>0.0.1</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><parent><groupId>org.springframework.boot</groupId><version>2.2.7.RELEASE</version><artifactId>spring-boot-starter-parent</artifactId></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.2.12.RELEASE</version></dependency><dependency><groupId>net.hasor</groupId><artifactId>hasor-spring</artifactId><version>4.1.6</version></dependency><dependency><groupId>net.hasor</groupId><artifactId>hasor-dataway</artifactId><version>4.1.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.2</version></dependency></dependencies></project>

初始化脚本

# select * from interface_info;/*访问地址http://127.0.0.1:8101/interface-ui/#/
*/-- auto-generated definition
create table interface_info
(api_id          int auto_increment comment 'ID'primary key,api_method      varchar(12)  not null comment 'HttpMethod:GET、PUT、POST',api_path        varchar(512) not null comment '拦截路径',api_status      varchar(4)   not null comment '状态:-1-删除, 0-草稿,1-发布,2-有变更,3-禁用',api_comment     varchar(255) not null comment '注释',api_type        varchar(24)  not null comment '脚本类型:SQL、DataQL',api_script      mediumtext   not null comment '查询脚本:xxxxxxx',api_schema      mediumtext   not null comment '接口的请求/响应数据结构',api_sample      mediumtext   not null comment '请求/响应/请求头样本数据',api_option      mediumtext   not null comment '扩展配置信息',api_create_time varchar(32)  not null comment '创建时间',api_gmt_time    varchar(32)  not null comment '修改时间',constraint uk_interface_infounique (api_path)
)comment 'Dataway 中的API';-- auto-generated definition
create table interface_release
(pub_id           int auto_increment comment 'Publish ID'primary key,pub_api_id       varchar(64)  not null comment '所属API ID',pub_method       varchar(12)  not null comment 'HttpMethod:GET、PUT、POST',pub_path         varchar(512) not null comment '拦截路径',pub_status       varchar(4)   not null comment '状态:-1-删除, 0-草稿,1-发布,2-有变更,3-禁用',pub_comment      varchar(255) null comment '注释',pub_type         varchar(24)  not null comment '脚本类型:SQL、DataQL',pub_script       mediumtext   not null comment '查询脚本:xxxxxxx',pub_script_ori   mediumtext   not null comment '原始查询脚本,仅当类型为SQL时不同',pub_schema       mediumtext   not null comment '接口的请求/响应数据结构',pub_sample       mediumtext   not null comment '请求/响应/请求头样本数据',pub_option       mediumtext   not null comment '扩展配置信息',pub_release_time varchar(32)  not null comment '发布时间(下线不更新)'
)comment 'Dataway API 发布历史。';create index idx_interface_release_apion interface_release (pub_api_id);create index idx_interface_release_pathon interface_release (pub_path);

项目源码

【金山文档 | WPS云文档】 dataway-demo
https://kdocs.cn/l/cm2uYUv7cKXO

这篇关于实战项目-快速实战-springboot dataway的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132648

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory