From 86be3dde5e6cff7cd84769b400def6eb448d45a2 Mon Sep 17 00:00:00 2001 From: qianming Date: Wed, 16 Nov 2022 09:50:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/docs/guide/datasource.md | 34 ++++++++++++++++++++------ doc/docs/picture/datasource/img_4.png | Bin 0 -> 26620 bytes doc/docs/picture/datasource/img_5.png | Bin 0 -> 20010 bytes 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 doc/docs/picture/datasource/img_4.png create mode 100644 doc/docs/picture/datasource/img_5.png diff --git a/doc/docs/guide/datasource.md b/doc/docs/guide/datasource.md index 60072cf9..d4df098b 100644 --- a/doc/docs/guide/datasource.md +++ b/doc/docs/guide/datasource.md @@ -17,7 +17,8 @@ 表aj_report.gaea_dict_item,字段dict_code:SOURCE_TYPE 表aj_report.gaea_dict_item, item_extend字段是下拉选择后动态表单渲染的json数据 ``` -**注:** Http数据源功能已经移动到Http数据集中,数据源功能不变,有Http接口数据请直接使用Http数据集 + +**注:** Http数据源功能已经移动到Http数据集中,原功能不变,有Http接口数据请直接使用Http数据集,请注意Http接口数据返回格式必须是Json ## 操作 @@ -28,25 +29,42 @@ ### JDBC驱动类数据源添加 +##### 发行版 + +```text +1、将jar包上传到 "aj-report.xxx/lib"目录下 +2、启动项目(重启项目) +3、前端页面数据源类型选择"jdbc",填上对应的驱动类、连接串、用户名密码 +``` + +![img4](../picture/datasource/img_4.png)
+![img5](../picture/datasource/img_5.png)
+ +##### 源码 + +源码推荐使用第二种方式。
+ - 第一种,在report-core/lib目录下添加
- 按照同样的层级将驱动包放置,使用build.sh脚本进行打包,前端页面选择jdbc数据源,填上对应的驱动类即可使用。
+ 按照同样的层级将驱动包放置,使用build.sh脚本进行打包,前端页面数据源类型选择"jdbc" + ,填上对应的驱动类、连接串、用户名密码。
**注意:** 此方式添加的jar包只能使用build.sh进行编译后才会生效。

- 第二种,在pom.xml中添加
- 使用build.sh脚本编译或者maven package编译都可以,前端页面选择jdbc数据源,填上对应驱动。
+ 使用build.sh脚本编译或者maven package编译都可以,前端页面数据源类型选择"jdbc" + ,填上对应的驱动类、连接串、用户名密码。
-**注意:** 底层只实现了mysql的解析,如果你的数据库和mysql差异较大,比如一些函数、关键字和mysql是不同的用法、含义,那就需要重写底层解析代码(datasource)

### 非JDBC驱动类数据源添加 例如原生ES、Redis之类。
-1、在源码中编写解析代码(datasource)
-2、使用页面生成数据字典
-3、添加对应驱动包
- +```text +1、在源码中编写解析代码(datasource) +2、生成数据字典,可在数据字典页面找到"数据源类型",在"操作"栏中选择"编辑字典项" +3、添加对应驱动包 +``` diff --git a/doc/docs/picture/datasource/img_4.png b/doc/docs/picture/datasource/img_4.png new file mode 100644 index 0000000000000000000000000000000000000000..22b302deb56023815c846cc22e943fb3a4a73b42 GIT binary patch literal 26620 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�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 NAg3Z*aNp>!{|BhlfR_LO literal 0 HcmV?d00001