# 唛盟数据模型管理系统mdp-dm **Repository Path**: maimengcloud/mdp-dm-backend ## Basic Information - **Project Name**: 唛盟数据模型管理系统mdp-dm - **Description**: 唛盟数据模型子系统(mdp-dm):一款bs结构的数据建模工具。包含在线查询数据、在线查看数据结构、在线建表、在线建视图、在线构建数据集、在线执行sql、支持多数据源、支持ddl、dml的数据建模工具 基于jsqlparse4.7 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: https://maimengcloud.com/lcode/m1 - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 4 - **Created**: 2024-05-07 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: 数据建模, ddl, dml, 在线执行sql, 表结构管理 ## README
唛盟数据模型子系统(mdp-dm):一款bs结构的数据建模工具。包含在线查询数据、在线查看数据结构、在线建表、在线建视图、在线构建数据集、在线执行sql、支持多数据源、支持ddl、dml的数据建模工具
>⚠️注意:本工程属于唛盟在线数据建模子系统的后端服务工程 ## 快速导航 - [唛盟-后端开发底座](https://gitee.com/maimengcloud/mdp-core) - [前端组件](https://gitee.com/maimengcloud/mdp-lcode-ui-web) - [后端服务](https://gitee.com/maimengcloud/mdp-dm-backend) - [体验环境](https://maimengcloud.com/lcode/m1/) 登陆界面上选择演示账号登陆或者直接扫码登陆,无须注册 - 相关教程b站上搜素[唛盟9哥教你撸前后端代码](https://www.bilibili.com/video/BV111421S72r/?spm_id_from=333.337.search-card.all.click&vd_source=93be23d03863773d50b81112985b9237) ## 📢 简介[唛盟数据模型子系统mdp-dm](/) 唛盟数据模型子系统(mdp-dm):一款bs结构的数据建模工具。包含在线查询数据、在线查看数据结构、在线建表、在线建视图、在线构建数据集、在线执行sql、支持多数据源、支持ddl、dml的数据建模工具 ## 📢工程介绍 >⚠️工程分类:主体工程、基础配套工程、高级配套工程、辅助开发工具四大类。 > 主体工程:本系统业务工程,用于书写本系统相关的业务代码; > 基础配套工程:业务工程运行所需的必要工程;如开发底座,系统管理相关功能包 > 高级配套工程:高级应用,比如需要将业务工程接入oauth2环境、将业务工程发布到cloud环境,才需要下载安装高级配套工程 > 辅助开发工具:指开发用到的一些工具 >⚠️工程命名规范:业务名称+工程属性 > 工程属性如下: > -ui: 页面工程 > -web: pc端运行的浏览器工程 > -backend: 后端服务 > -app: 安卓、ios等原生app工程 > -uniapp: 基于uniapp开发的应用 > -minapp: 小程序 > -cloud: 微服务cloud环境 > -oauth2: 统一认证中心 > -bootstrap: 打包部署工程 ### 唛盟主体工程 唛盟属于前后端严格分离的一套系统,分为前端工程、后端工程两部分 - [mdp-lcode-ui-web](https://gitee.com/maimengcloud/mdp-lcode-ui-web) 唛盟的前端工程,以vue.js为主 - [mdp-dm-backend](https://gitee.com/maimengcloud/mdp-lcode-backend) 唛盟的后端工程,java语言为主 ### 基础配套工程 - [mdp-core 必须](https://gitee.com/maimengcloud/mdp-core) 该工程作为所有后端的公共封装,不包含任何的业务功能,仅作为后端系统的技术底座,包含一些公共工具、服务类抽象、dao层抽象等。 ### 高级配套工程 - [mdp-cloud-backend 非必须](https://gitee.com/maimengcloud/mdp-cloud-backend) 该工程作为spring cloud的扩展工程,如果需要将系统发布到spring cloud环境,需要下载该工程重新打包,不包含任何的业务功能,仅作为后端接入cloud环境使用 - [mdp-oauth2-backend 非必须](https://gitee.com/maimengcloud/mdp-oauth2-backend) 该工程为统一认证中心,作为spring oauth2的扩展工程,如果需要将系统接入oauth2环境,需要下载该工程重新打包,该工程实现分布式单点登陆;支持微信、支付宝、短信、账户密码等多种登陆方式 ### 开发辅助工具 - [mdp-code-generator 非必须](https://gitee.com/maimengcloud/mdp-code-generator) 代码生成器 生成代码两种方式, 一、使用代码生成器本地工程,好处是代码可以直接覆盖到本地业务工程,避免复制黏贴出错。 二、如果不需要本地生成代码,也可以在低代码平台在线生成。[在线生成代码](https://maimengcloud.com/lcode/m1/#/mdp/lcode/gen) ## 💪 内置功能 ``` 数据模型 ├── 表结构管理 => 表查询、表字段查询、表结构维护 ├── 表数据管理 => 任意表格数据的增删改查 ├── 数据集市 => 数据集的增删改查、设计、预览、执行、sql解析优化等 ├── 数据模型 => 数据模型的增删改查、统计 ├── ddl\dml权限管理、控制 => 依托唛盟低代码平台配置权限,在mdp-dm实现任意sql的权限检查 ├── 智能表单数据查询、推送、更新等万能接口 => 界面依托唛盟低代码平台的智能表单可以实现表单数据的更新、加载等 ``` ## ⌨ 技术栈 spring boot + spring cloud + mybatis plus + flowable(可选) ## 💻 样例项目 - [低代码平台] (https://maimengcloud.com/lcode/m1/) - [系统管理] (https://maimengcloud.com/sys/m1/) - [协同办公] (https://maimengcloud.com/oa/m1/) - [项目管理] (https://maimengcloud.com/xm/m1/) - [流程管理] (https://maimengcloud.com/workflow/m1/) ## ⚙ 快速开始 ### 环境要求 数据库版本mysql8,jdk版本java-8-openjdk-amd64,redis版本3.0.6 ### 开发 ```bash # 克隆开发底座项目 git clone https://gitee.com/maimengcloud/mdp-core.git # 安装开发底座依赖 mvn install # 克隆oauth2项目(非必须) git https://gitee.com/maimengcloud/mdp-oauth2-backend # 安装oauth2依赖 mvn install # 克隆cloud项目(非必须) git https://gitee.com/maimengcloud/mdp-cloud-backend # 安装cloud依赖 mvn install # 克隆lcode项目 git clone https://gitee.com/maimengcloud/mdp-dm-backend.git # 安装lcode依赖 mvn install # 导入数据库脚本 # 1.创建wf库 如果不想用工作流,可忽略创建wf库,找到相关脚本,导入相关表到wf数据库中,如果已创建,该步忽略 [wf.sql](https://gitee.com/maimengcloud/mdp-workflow-backend/blob/master/sql/wf.sql) # 2.创建lcode库,导入相关脚本,如果已导入过,则忽略该步骤 [lcode.sql](./mdp-lcode/sql/lcode.sql) # 配置数据库链接 + redis 链接(需要提前准备数据库及redis环境) [application-dev.yml](./mdp-lcode/src/main/resources/application-dev.yml) # 启动服务 ⚠注意启动类放在test下面, 找到并运行[DmApplication.java](./mdp-lcode/src/test/java/com/mdp/DmApplication.java) ``` 访问端口 http://localhost:7020 ### 发布 #### 服务器的目录结构 假设工作空间为/home/m1/ ``` /hom/m1/ ├── start-service => 唛盟一键启停脚本存放目录 ├── config => spring boot的外置配置文件存放目录 ├── lib => jar包存放目录 ├── conf => 其它配置文件存放目录 ├── consul => consul安装目录 ├── logs => 唛盟日志存放目录 ├── backup-log => 日志备份存放目录 ├── arcfile => 唛盟内容素材上传下载访问的目录(素材存放目录) ├── bin => 一些公共脚本目录,如日志定时清理脚本、微服务注销脚本 ``` #### 构建 ```bash # 构建 在mdp-dm-backend下执行 mvn instal ``` #### 发布及启停服务 ```bash # 部署 指部署jar包到nexus私服,如果企业没有nexus私服,则忽略此步骤 在mdp-dm-backend下执行 mvn deploy # 手工发布到测试环境或者生产环境 如果是单体应用则拷贝并推送到服务器上[mdp-dm-bootstrap-3.0.0-RELEASE.jar](./mdp-dm-bootstrap/target/mdp-lcode-bootstrap-3.0.0-RELEASE.jar) 如果是微服务则拷贝并推送到服务器上[mdp-dm-cloud-bootstrap-3.0.0-RELEASE.jar](./mdp-dm-cloud-bootstrap/target/mdp-lcode-cloud-bootstrap-3.0.0-RELEASE.jar) # 启动应用(单体、cloud对jar包的引用不同,需要根据情况修改下脚本bootstrap-mdp-dm-00.sh,默认是单体)初次部署把./start-service/bootstrap-mdp-dm-00.sh拷贝到服务器上 sh bootstrap-mdp-dm-00.sh ``` ### 接入统一认证中心 1.如果部署了统一认证中心,需要做配置更改。 统一认证中心相关的配置项: ```properties mdp.jwt.connect-oauth2-server=true|false 如果不需要对接统一认证中心,connect-oauth2-server设为false,则对jwt token的解析将采用HS256算法解密,默认为true mdp.oauth2.server.uri=统一认证中心的访问地址 如http://127.0.0.1:7000,如果是cloud环境下可以设置为http://oauth2server ``` ```yaml mdp: jwt: connect-oauth2-server: true oauth2: server: uri: http://127.0.0.1:7000 ``` 2.本地起的后端服务pom.xml文件需要引入[mdp-oauth2-client](https://gitee.com/maimengcloud/mdp-oauth2-backend/tree/master/mdp-oauth2-client) 或者[mdp-oauth2-client-cloud](https://gitee.com/maimengcloud/mdp-oauth2-backend/tree/master/mdp-oauth2-client-cloud) ,如果没有该jar包,请下载[mdp-oauth2-backend](https://gitee.com/maimengcloud/mdp-oauth2-backend) 到本地执行下mvn install即可 单体应用下: ```xml