## 介绍
[数据源数据集用法总结](https://my.oschina.net/u/4517014/blog/5270828)
- 支持多数据源,内置mysql、elasticsearch、kudu等多种驱动
- 可动态扩展
![source.png](../picture/datasource/img_1.png)
## 数据源类型
查看已有的数据源类型
![img2](../picture/datasource/img_2.png)
![img3](../picture/datasource/img_3.png)
```text
可以在此页面进行新增数据源配置,也可以去数据库中增加你需要的数据源类型。
表aj_report.gaea_dict_item,字段dict_code:SOURCE_TYPE
表aj_report.gaea_dict_item, item_extend字段是下拉选择后动态表单渲染的json数据
```
**注:** Http数据源功能已经移动到Http数据集中,数据源功能不变,有Http接口数据请直接使用Http数据集
## 操作
- 只有测试通过的数据源才可以保存
![An image](../picture/datasource/img.png)
## 扩展
### JDBC驱动类数据源添加
- 第一种,在report-core/lib目录下添加
按照同样的层级将驱动包放置,使用build.sh脚本进行打包,前端页面选择jdbc数据源,填上对应的驱动类即可使用。
**注意:** 此方式添加的jar包只能使用build.sh进行编译后才会生效。
- 第二种,在pom.xml中添加
使用build.sh脚本编译或者maven package编译都可以,前端页面选择jdbc数据源,填上对应驱动。
**注意:** 底层只实现了mysql的解析,如果你的数据库和mysql差异较大,比如一些函数、关键字和mysql是不同的用法、含义,那就需要重写底层解析代码(datasource)
### 非JDBC驱动类数据源添加
例如原生ES、Redis之类。
1、在源码中编写解析代码(datasource)
2、使用页面生成数据字典
3、添加对应驱动包