
# DataSourceClient类说明
#### 路径
com.roma.apic.livedata.client.v1.DataSourceClient
#### 说明
连接数据源，执行SQL语句、存储过程或NOSQL查询语句。
#### 使用示例
SQL数据源示例：
```
importClass(com.roma.apic.livedata.client.v1.DataSourceClient);
importClass(com.roma.apic.livedata.config.v1.DataSourceConfig);
function execute(data){
    var config = new DataSourceConfig()
    config.setType("mysql")
    config.setUrl("jdbc:mysql://127.0.0.1:3306/db?allowPublicKeyRetrieval=true")
    config.setUser("username")
    config.setPassword("password")
    var ds = new DataSourceClient(config)
    return ds.execute("SELECT * FROM person where name = ? and age = ?", "Tom", 20);
}
```
```
importClass(com.roma.apic.livedata.client.v1.DataSourceClient);
importClass(com.roma.apic.livedata.config.v1.DataSourceConfig);
function execute(data){
  var config = new DataSourceConfig()
  config.setType("oracle")
  config.setUrl("jdbc:oracle:thin:@127.0.0.1:1521/db")
  config.setUser("username")
  config.setPassword("password")
  var ds = new DataSourceClient(config)
  return ds.execute("select table_name from user_tables");
}
```
NOSQL数据源示例：
```
importClass(com.roma.apic.livedata.client.v1.DataSourceClient);
importClass(com.roma.apic.livedata.config.v1.DataSourceConfig);
function execute(data){
    var config = new DataSourceConfig()
    config.setType("redis")
    config.setUrl("127.0.0.1:6379")
    config.setPassword("password")
    var ds = new DataSourceClient(config)
    return ds.execute("GET key");
}
```
#### 构造器详情
**public DataSourceClient(DataSourceConfig config)**
传入数据源配置，构造一个数据源连接器
#### 方法列表
| 返回类型   | 方法和说明                                                                                                 |
|:---|:---|
| Object | execute(String sql, Object... prepareValue) 执行SQL语句、存储过程或NOSQL查询语句 |
   
#### 方法详情
**public Object execute(String sql, Object... prepareValue)**
执行SQL语句、存储过程或NOSQL查询语句
**输入参数**
prepareValue：仅在SQL语句中生效，用于替换SQL语句中的"?"参数，可以防止SQL注入。
**返回信息**
返回语句执行结果
