# websql
**Repository Path**: dotnetstd/websql
## Basic Information
- **Project Name**: websql
- **Description**: websql 轻量级网页sql管理工具,在线执行SQL、ETL同步、动态多数据源、常用sql管理等众多功能,体积小开箱即用 ———简约而不简单
- **Primary Language**: Java
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: https://websql.cgycms.cn
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 108
- **Created**: 2024-06-30
- **Last Updated**: 2024-06-30
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
websql v3.7
websql 轻量级网页sql管理工具,在线执行SQL、ETL同步、动态多数据源、常用sql管理等众多功能,体积小开箱即用 ———简约而不简单
---
## 前言:
- [快速开始](https://gitee.com/boy_0214/websql/wikis/Home)
- 注:学习测试请拉取 master 分支,dev 是开发分支,有很多特性并不稳定(在项目根目录执行 `git checkout master`)。
- 开源不易,点个 star 鼓励一下吧!
## webSql 介绍
**webSql** 支持动态配置`多数据源`,`权限控制`,在线`执行sql`,常用`sql文本实时获取`,`导出、打印`结果集、可控的`日志记录`,团队`数据隔离`,`危险`SQL限制运行,生产环境`数据`同步,`openapi`
ETL等功能;众多功能集一身的`SQL在线执行工具`。
### 支持的数据库产品
| 产品名称 | 适配度 | 功能描述 |
|:-----------|:----|:-------|
| mysql | ✔ | 支持所有功能 |
| oracle | ✔ | 支持所有功能 |
| H2 | ✔ | 支持所有功能 |
| postgresql | ✔ | 不支持元数据 |
| sqlite | ✔ | 支持所有功能 |
| sqlserver | ✔ | 不支持元数据 |
| dm达梦 | ✔ | 支持所有功能 |
| kingbase8 人大金仓 | 部分 | 不支持元数据 |
| oscar 神州通用 | 部分 | 不支持元数据 |
| maxcompute 阿里云 | 部分 | 不支持元数据 |
### 软件架构
| 产品名称 | 模块 | 描述 |
|:-------------|:---|:-------|
| Spring Boot | 后端 | 后端框架 |
| JPA | 后端 | 数据层 |
| Druid | 后端 | 连接池 |
| sa-token | 后端 | 权限框架 |
| fastjson | 后端 | JSON工具 |
| easyCaptcha | 后端 | 验证码 |
| huTool | 后端 | 常用工具 |
| LaYui | 前端 | 前端框架 |
| codeMirror | 前端 | 编辑器 |
## WebSql 功能模块一览
Websql 主要分为五大功能模块:数据源管理、SQL管理、ETL管理、日志管理、系统管理。
- **数据源管理** —— 数据源动态配置多种数据库连接进行入池
- **SQL管理** —— SQL窗口执行脚本,它强大无比;SQL列表保存常用SQL文本
- **ETL管理** —— 定时执行脚本,跨库同步数据结果并呈现;便捷执行计划ETL抽取,数据同步等
- **日志管理** —— 执行脚本记录,登录系统会产生详细日志可供查询
- **用户管理** —— 可新增不同用户,赋予不同操作权限登录系统使用
- **团队管理** —— 不同团队之间,数据完全隔离,更细致的权限控制
- **参数设置** —— 参数设置中可以操作更多细致化控制
- **openapi** —— 支持http调用系统接口形式执行SQL动作 查看示例
- **开箱即用** —— 提供jar、docker镜像,内置H2数据库,一条命令即可启动,真正的开箱即用
### 参与开发
第一步: git clone https://gitee.com/boy_0214/websql.git
第二步: WebplsqlApplication.java启动 基于`master`开发完成后提交至`dev`分支
第三步:自测完成,gitee提交PR 至dev分支
第四步:编译打包 `mvn clean package` 部署 target/websql.jar
第五步:打包docker镜像
docker build -f dockerfile --tag cgycms/websql:3.x --tag cgycms/websql:latest .
docker push
## 应用部署
- 运行环境:jdk8 / jdk17
- 使用内置H2不需要独立安装数据库及创建表结构,系统会自动创建
- 默认端口:80
- 访问路径:http://localhost/index
- 指定端口号: --server.port=8080
- 默认登录账号:admin/admin
nohup java -jar websql.jar >>web.log &
### Docker部署
pull拉取失败,可以加群寻找国内镜像地址
docker pull cgycms/websql:latest
docker run -di --name websql -p 80:80 cgycms/websql:latest
docker logs websql
## 演示环境
[演示环境](http://websql.cgycms.cn)
账号密码:**demo** / **demo123**
配置低,经常GG。
## 交流群
QQ交流群:498265967 [点击加入](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=HHuK-ks_qF9KdaWI8UuIPzp22Qg3jSJ7&authKey=fBFgaomxUn3%2BfMgrRzHq9ZMyBZZ0eSAaU2JBO1oXe94RbnkUhlSI2SKjHjVK8Mij&noverify=0&group_code=498265967)
加入群聊的好处:
- 群主虽然是个菜鸟但是乐于助人。
- 第一时间收到框架更新通知。
- 第一时间收到框架 bug 通知。