技术栈(前后端一体)

  • 后端
    Spring Boot、Mybatis、Freemarker、Derby、Jackson、Caffeine、Spring Security
  • 前端
    jQuery、Vue3、PrimeVue、CodeMirror、ECharts、DataTables

模块介绍

  • datagear-analysis
    数据分析底层模块,定义数据集、图表、看板API
  • datagear-connection
    数据库连接支持模块,定义可从指定目录加载JDBC驱动、新建连接的API
  • datagear-dataexchange
    数据导入/导出底层模块,定义导入/导出指定数据源数据的API
  • datagear-management
    系统业务服务模块,定义数据源、数据分析等功能的服务层API
  • datagear-meta
    数据源元信息底层模块,定义解析指定数据源表结构的API
  • datagear-persistence
    数据源数据管理底层模块,定义读取、编辑、查询数据源表数据的API
  • datagear-util
    系统常用工具集模块
  • datagear-web
    系统web模块,定义web控制器、操作页面
  • datagear-webapp
    系统web应用模块,定义程序启动类

依赖

Java 8+
Servlet 3.1+
  • 1.
  • 2.

编译

准备单元测试环境

  1. 安装MySQL-8.0数据库,并将root用户的密码设置为:root(或者修改test/config/jdbc.properties配置)
  2. 新建测试数据库,名称取为:dg_test
  3. 使用test/sql/test-mysql.sql脚本初始化dg_test

执行编译命令

mvn clean package
  • 1.

或者,也可不准备单元测试环境,直接执行如下编译命令:

mvn clean package -DskipTests
  • 1.

编译完成后,将在datagear-webapp/target/datagear-[version]-packages/内生成程序包。

调试

  1. datagear以maven工程导入至IDE工具
  2. 以调试模式运行datagear-webapp模块的启动类org.datagear.webapp.DataGearApplication
  3. 打开浏览器,输入:http://localhost:50401

调试注意

在调试开发分支前(dev-*),建议先备份DataGear工作目录([用户主目录]/.datagear), 因为开发分支程序启动时会修改DataGear工作目录,可能会导致先前使用的正式版程序、以及后续发布的正式版程序无法正常启动。

系统启动时会根据当前版本号自动升级内置数据库(Derby数据库,位于[用户主目录]/.datagear/derby目录下),且成功后下次启动时不再自动执行,如果调试时遇到数据库异常,需要查看

datagear-management/src/main/resources/org/datagear/management/ddl/datagear.sql
  • 1.

文件,从中查找需要更新的SQL语句,手动执行。

然后,手动执行下面更新系统版本号的SQL语句:

UPDATE DATAGEAR_VERSION SET VERSION_VALUE='当前版本号'
  • 1.

例如,对于4.6.0版本,应执行:

UPDATE DATAGEAR_VERSION SET VERSION_VALUE='4.6.0'
  • 1.

系统自带了一个可用于为内置数据库执行SQL语句的简单工具类org.datagear.web.util.DerbySqlClient,可以在IDE中直接运行。注意:运行前需要先停止DataGear程序。