写点什么

DataEase 数据源插件开发——如何替换 STGroupFile 模板文件

  • 2023-01-11
    山东
  • 本文字数:752 字

    阅读完需:约 2 分钟

在 DataEase 的数据源中,使用了 STGroupFile 模板文件,默认加载的模板文件为 dataease-extension-sdk 项目中的 pluginSqltemplate.stg 文件,如下图所示



此文件中声明了 SQL 的模板,在生成动态 SQL 时,只需要将参数传入即可,参数传入后,ST 对象执行 render() 方法即可获取模板中变量别参数替换后的 SQL 语句。


STGroup stg = new STGroupFile("pluginSqltemplate.stg");ST st_sql = stg.getInstanceOf("querySql");if (CollectionUtils.isNotEmpty(gFields))    st_sql.add("groups", gFields);if (CollectionUtils.isNotEmpty(fields))    st_sql.add("aggregators", fields);if (CollectionUtils.isNotEmpty(wheres))    st_sql.add("filters", wheres);if (ObjectUtils.isNotEmpty(tableObj))    st_sql.add("table", tableObj);String sql = st_sql.render();
复制代码


当我们参考 DataEase 源码,开发新的数据源插件时,可能当前的 stg 模板并不适用于我们要开发的数据源的使用场景,当我们想要替换此文件为自己的文件时,我们可以新建一个自己的数据源插件的模板文件,然后将文件放到 XXXDriver 目录下,并将声明 STGroupFile 的文件名设置为文件固定路径(“/opt/dataease/plugins/”+ 文件名)。


STGroup stg = new STGroupFile("/opt/dataease/plugins/xxxPluginSqltemplate.stg");
复制代码


这个路径是与 dataaese 项目相关的,当插件导入到 dataease 中时,dataease 会自动加载 XXXDriver 目录下的文件到 /opt/dataease/plugins/ 目录下,这个目录是支持配置的,所以我们可以在代码中使用 @Value 注解将此目录的路径与 dataaese 配置文件的配置项绑定,当 dataaese 加载插件时会自动加载配置内容。




详细的数据源插件开发过程可参考官方文档教程:

​https://dataease.io/docs/dev_manual/dev_datasource_plugin/​

用户头像

还未添加个人签名 2022-12-26 加入

还未添加个人简介

评论

发布
暂无评论
DataEase 数据源插件开发——如何替换 STGroupFile 模板文件_数据可视化工具_搞大屏的小北_InfoQ写作社区