👍JeeSite 在线设计数据库表动态建模,数据源、表和索引维护、历史留痕(永久免费,公测进行中)
一、介绍
数据库表动态管理模块(Data/Dynamic Base Manage)简称 DBM,菜单:数据管理 -> 数据表管理。
该功能可实现类似数据库管理工具客户端的功能,通过 Web 界面,即可维护数据源、数据表、数据字段、索引等。
目前已完成支持数据库的有:MySQL、Oracle、Sql Server、PostgreSQL、达梦数据库、人大金仓。
后续还会继续支持更多类型的数据库,本模块具有良好的扩容性,方便支持其它类型数据库。
1、特点:
-
基于 Liquibase 实现,生来具有的跨数据库支持,多数据库扩展性
-
自动根据通用字段数据类型,映射为不同类型数据库下的字段类型
-
支持根据表描述和字段描述的拼音,自动生成表名和字段名,方便快捷
-
支持变更数据表名、字段名、表描述、列描述、类型、主键、必填等
-
支持数据表有数据的时候、字段有索引的时候,进行字段类型变更、增加必填属性
-
支持不同类型数据库下的,日期类型、数值类型的字段默认值自动化处理
-
支持自定义配置字段类型,通过字典管理快捷增加通用数据类型
-
支持快速添加常用字段(如:创建者、创建时间、更新者、更新时间、组织编码、树表字段、自定义等)
-
支持快速添加常用字段的索引,方便快速维护,提高数据查询分析性能
-
支持通过其它数据库管理工具增减数据字段和索引后的自动同步到 DBM 模块
-
支持用户维护数据表、数据字段、数据字典的记录留痕,显示修改前后的数据,方便追溯
-
支持离线库单元测试,快捷指定数据变更数据,生成不同类型的数据库 DDL
-
支持对创建和导入的数据表,通过分页方式快捷的查看预览表中的数据
-
支持动态管理多数据源,管理其它数据源下的表,支持连接池配置
-
支持严格的权限控制,必须有最高级别的管理人员才可维护数据表
-
支持导入现有数据表,方便纳入 DBM 进行管理
-
支持数据表业务分类,方便分类管理
2、功能:
-
数据源管理:动态维护系统数据源,支持多种数据库数据源,除了系统内置外还可以自定义,支持连接池配置。
-
数据表管理:对数据库中的物理表进行管理维护,新增或更改表和字段、导入现有表、数据分页查询。
-
数据表索引管理:对数据表进行索引维护、自动生成索引名称,提高查询性能。
-
数据表分类:对业务进行分类管理,方便对数据表、动态功能等的业务进行分类。
-
修改历史留痕查询:方便进行操作审计,追溯操作者对数据表的更改记录,修改前和修改后的记录。
-
通用字段组维护:快捷添加业务上的通用字段,如状态、创建者、创建时间等。
该功能可作为动态表单和列表的底层数据结构的界面维护,动态的背后必须有强大的数据结构支撑。它可以很好的,做到了业务分离,利于查询分析统计,利于后期维护。
二、操作手册
1、数据源管理
进入菜单:数据管理 -> 数据源管理
1)新增或编辑:
填写完成数据库连接参数后,点击保存按钮,后台会进行连接参数的正确性进行验证,如果连接失败,界面给予提示原因。连接成功后系统自动加入到当前数据源池中,方可后面使用该数据源。
2)连接类型:支持自定义扩展(可配置一些连接参数默认值)
3)连接池类型:支持自定义扩展(实现 AddDataSource 接口类)
4)修改记录:修改数据源时,需要填写修改原因提交,系统会自动进行修改前后数据比较留痕。可点击“修改记录”按钮,快速查看修改日志。
2、数据表管理
进入菜单:数据管理 -> 数据表管理
1)新增和编辑:
填写表描述或列描述后,自动根据拼音生成表名称或列名称。如果是修改操作,则不会进行自动生成表名和列名,防止更改描述后又被覆盖。
保存后,系统会自动进行比较修改的内容,仅对更改的内容生成DLL语句并执行,实现更改到数据库的物理数据表中。
有些数据库不支持带数据的物理表修改字段类型,JeeSite会自动处理进行创建临时字段完成更改类型。
安全提示:保存前会要求填写修改原因,并给与安全提示,防止误操作,如果有对数据字段进行删除操作,还给与二次提示。
2)字段类型:支持自定义增加
3)表常用字段:支持自定义
举例:(实现 AddCommonColumn 接口)
public class StatusCommonColumn implements AddCommonColumn {
@Override
public List<DbmTableColumn> getColumns() {
List<DbmTableColumn> list = ListUtils.newArrayList();
list.add(createColumn("状态", "status", "char(1)", true, true));
list.add(createColumn("创建者", "create_by", "varchar(64)", true, true));
list.add(createColumn("创建时间", "create_date", "datetime", true, true));
list.add(createColumn("更新者", "update_by", "varchar(64)", true, true));
list.add(createColumn("更新时间", "update_date", "datetime", true, true));
list.add(createColumn("备注", "remarks", "nvarchar(600)", false, true));
return list;
}
@Override
public List<DbmTableIndex> getIndexes() {
List<DbmTableIndex> list = ListUtils.newArrayList();
list.add(creatIndex("状态(status)", "status", false));
list.add(creatIndex("创建者(create_by)", "create_by", false));
list.add(creatIndex("创建时间(create_date)", "create_date", false));
list.add(creatIndex("更新者(update_by)", "update_by", false));
list.add(creatIndex("更新时间(update_date)", "update_date", false));
return list;
}
}
添加后,即可在界面上进行选择:如果点击多次系统会进行校验给与提示。
4)数据表索引:索引类型支持(正常:数据库默认、唯一:唯一索引)
5)复制表结构:
表管理操作列上点击复制按钮,可进入复制界面,可对复制内容进行修改表名、列名、等信息,点击提交后,会自动弹出复制该表索引。
6)查看表数据:分页方式快速查看该表数据
7)导入现有表:系统读取当前数据表信息、列信息、索引信息纳入到DBM中进行管理,数据列表页点击导入按钮,弹出导入对话
导入后将在列表页出现,点击刚导入的表,进入编辑页面:
3、数据表分类
进入菜单:数据管理 -> 数据表分类
这是一个树结构分类表,可建立上下级层级关系。
4、修改记录留痕
进入菜单:数据管理 -> 修改记录留痕
该界面可快速查询当前最新更改记录,可根据标题、原因、用户、时间进行检索。
三、安装方法
1)V5.7.1及以上版本,在 jeesite-module-core 或 jeesite-web 工程的 pom.xml 中引入依赖:
<dependency>
<groupId>com.jeesite</groupId>
<artifactId>jeesite-framework-dbm</artifactId>
<version>${project.parent.version}</version>
</dependency>
2)执行 jeesite-module-core 或 jeesite-web 下的 /bin/package.bat(sh) 脚本编译项目。
3)执行 jeesite-web/bin/init-data.bat(sh) 初始化 DBM 相关表和数据。
4)完成后,启动项目,恭喜您!可以愉快的玩耍了 ^_^。
四、问题反馈
有任何问题,都可以直接联系到我们。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
做软件测试需要懂代码吗?
随着大数据、机器学习时代的到来,不少人有了“测试不需要懂代码,那我就试试”的想法。这就引发了一系列疑问:不懂代码可以做测试吗?测试人员到底需不需要懂代码?测试人员需要写代码吗? 其实,在软件测试初级阶段,测试人员确实不需要懂代码。但如果想要追求月薪20k、30k,接口、自动化等是避免不了的,这就必然涉及到了代码层面。 正如《mob编程指南》的作者Llewellyn Falco回应“QA工程师应该学习编码吗”这个问题时,曾说:“每个人都应该知道如何编写代码,这就像阅读和写作。你可能没有写过书,但你应该知道如何阅读和写作。” 一、软件测试的Q&A 作为测试人员,我们可以一起考虑几个问题。 问题一:哪些测试需要懂代码? 软件测试人员会使用各种测试技术来执行此操作,包括手动测试、自动测试等。不同的测试策略要求不同的测试技术,我列举了一部分: 问题二:软件测试的门槛高吗? 近年来,经济下行加速功能测试转向自动化测试,软件测试的求职门槛确确实在提高。 研发流行敏捷开发,运维部署逐渐自动化,版本高速迭代。这意味着过去“点点点”的手动测试已经跟不上互联网行业产品的更新迭代速度,已经逐渐被自...
- 下一篇
智能制造 v3.13.10 发布,ERP 等模块更新
智能制造一体化管理系统[SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。 智能制造 v3.13.10 发布,重构内容如下: ERP 新增【到货单】管理 新增【质检单】管理 新增【采购申请单】在不同场景下转采购合同的场景 基础框架新增不走团队权限校验的基础函数 新增【采购模块】流程图 新增【采购订单】流程图 在线课堂 1. 修改帖子点赞列表和帖子点赞详情页面不统一的问题 2. 修改评论图片样式 3. 修改课堂派样式名称 4. 固定课堂派搜索框 表白墙模块 1. pc端,个人页面展示时放入首页 2. 头像上传时剪切组件,头像预览 3. 修改列表评论组件逻辑,展示图片,修改评论列表,匿名样式, 4. 悬浮按钮位置帖子列表的评论框弹出时,隐藏悬浮按钮(返回顶部按钮×) 5. 首页吸顶 6. 修改话...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G