接口 IDataAccess


public interface IDataAccess
提供访问Forguncy表的方法
作者:
CharlesSui
  • 方法详细资料

    • addTableData

      void addTableData(String tableName, Map<String,Object> newValues)
      将数据添加到指定的表
      参数:
      tableName - 要向其添加数据的表名
      newValues - 作为字段名称和值的集合创建的其他数据

      示例代码表示获取给表1中添加数据:

       
         HashMap<String, Object> data = new HashMap<String, Object>();
         data.put("文本", "c");
         data.put("整数", 3);
         this.getDataAccess().addTableData("表1", data);
       
       
    • getTableData

      Map<String,Object> getTableData(String tableName, ColumnValuePair primaryKey)
      从表中获取与指定值匹配的记录
      参数:
      tableName - 要获取的表名
      primaryKey - 字段名称/值对(使用唯一字段)以指定找到的集合
      返回:
      数据记录

      示例代码表示获取表1中ID为2的数据:

       
         HashMap<String, Object> data = this.getDataAccess().getTableData("表1", new ColumnValuePair("ID", 2));
      
       
    • getTableData

      Object getTableData(String odataPath)
      通过指定OData路径获取一条记录。 在资源路径之后指定OData路径,但不包括根URI。
      参数:
      odataPath - OData路径
      返回:
      表中的数据

      示例代码表示使用odataPath获取表1的前三条数据:

       
         Object data=this.getDataAccess().getTableData("表1?$select=ID,文本,整数&$top=3");
       
       
    • deleteTableData

      void deleteTableData(String tableName, ColumnValuePair primaryKey)
      从表中删除与指定值匹配的记录
      参数:
      tableName - 要删除的表名
      primaryKey - 字段名称/值对(使用唯一字段)以指定找到的集合。

      示例代码表示删除表1中ID为2的数据:

       
       this.getDataAccess().deleteTableData("表1", new ColumnValuePair("ID", 2));
       
       
    • modifyTablesData

      void modifyTablesData(Map<String,ModifyData> modifyData)
      根据多个已编辑的数据更新(添加/编辑/删除)数据。
      参数:
      modifyData - 要编辑的数据列表

      代码表示给表1添加三行数据:

       
         HashMap<String, ModifyData> modifyTablesDataParam = new HashMap<String, ModifyData>();
         ModifyData modifyData = new ModifyData();
       
         HashMap<String, Object> addParamA = new HashMap<String, Object>();
         addParamA.put("文本","d");
         addParamA.put("整数","4");
         modifyData.getAddRows().add(addParamA);
       
         HashMap<String, Object> addParamB = new HashMap<String, Object>();
         addParamB.put("文本","e");
         addParamB.put("整数","5");
         modifyData.getAddRows().add(addParamB);
       
         HashMap<String, Object> addParamC = new HashMap<String, Object>();
         addParamC.put("文本","f");
         addParamC.put("整数","6");
         modifyData.getAddRows().add(addParamC);
       
         modifyTablesDataParam.put("表1", modifyData);
         this.getDataAccess().modifyTablesData(modifyTablesDataParam);
       
       

      再删除一行,再修改一行:

       
       
         HashMap<String, ModifyData> modifyTablesDataParam = new HashMap<String, ModifyData>();
         ModifyData modifyData = new ModifyData();
       
         ColumnValuePair dataTobeEditKey = new ColumnValuePair("文本", "e");
       
         HashMap<String, Object> editParamNewValue = new HashMap<String, Object>();
         editParamNewValue.put("文本", "ee");
         editParamNewValue.put("整数", "55");
         EditData editParam = new EditData(dataTobeEditKey, editParamNewValue);
       
         modifyData.getEditRows().add(editParam);
       
         modifyData.getDeleteRows().add(new ColumnValuePair("文本", "f"));
       
         modifyTablesDataParam.put("表1", modifyData);
         this.getDataAccess().modifyTablesData(modifyTablesDataParam);
       
       
    • updateTableData

      void updateTableData(String tableName, ColumnValuePair primaryKey, Map<String,Object> updateValues)
      更新与指定值匹配的记录
      参数:
      tableName - 更新目标表名称
      primaryKey - 字段名称/值对(使用唯一字段)以指定找到的集合。
      updateValues - 要被更新的值,Key表示列名,值是要被更新的值。

      示例代码表示更新ID为1的记录:

       
        HashMap<String, Object> newValue = new HashMap<String, Object>();
        newValue.put("文本", "aa");
        newValue.put("整数", 11);
        this.getDataAccess().updateTableData("表1", new ColumnValuePair("ID", 1), newValue);
       
       
    • executeSql

      Object executeSql(String connectionStringId, String sqlString, Map<String,Object> param, int timeOut)
      执行 sql
      参数:
      connectionStringId - 连接字符串
      sqlString - sql字符串
      param - 参数
      timeOut - 超时时间
      返回:
      void

      示例代码表示执行sql查找ID为1的记录:

       
       
        String connectionStringId = "demo-id";
        String sqlStatement = "SELECT * FROM demo_table WHERE ID=@id";
        Long timeout = 1000; // means 1 second
        HashMap<String, Object> parameters = new HashMap<String, Object>();
        parameters.put("ID", 1);
        Object result = this.getDataAccess().executeSql(connectionStringId, sqlStatement, parameters, timeout);
       
       
    • executeSql

      Object executeSql(String connectionStringId, String sqlString, Map<String,Object> param)
      执行sql
      参数:
      connectionStringId - 连接字符串id
      sqlString - sql字符串
      param - 参数
      返回:
    • getConnectionString

      String getConnectionString(String tableName)
      根据表名获取连接字符串
      参数:
      tableName - 表明
      返回:
      连接字符串
    • getConnectionInfo

      Map<String,String> getConnectionInfo(String tableName)
      获取数据表连接信息,数据表连接信息是解析过的连接字符串
      参数:
      tableName - 数据表名
      返回:
      数据表连接信息
    • getConnectionStringByID

      String getConnectionStringByID(String connectionStringID)
      根据链接字符串id获取连接字符串
      参数:
      connectionStringID - 链接字符串id
      返回:
      连接字符串
    • beginTransaction

      void beginTransaction(String connectionStr)
      用连接字符串开启事务
      参数:
      connectionStr - 连接字符串
    • beginTransaction

      void beginTransaction(String connectionStr, IsolationLevel isolationLevel)
      用连接字符串开启事务并指定隔离级别
      参数:
      connectionStr - 连接字符串
      isolationLevel - 隔离级别
    • commitTransaction

      void commitTransaction(String connectionStr)
      用连接字符串提交事务
      参数:
      connectionStr - 连接字符串
    • rollbackTransaction

      void rollbackTransaction(String connectionStr)
      用连接字符串回滚事务
      参数:
      connectionStr - 连接字符串
    • generateSqlCondition

      Object generateSqlCondition(Map<String,Object> queryInfos, String tableName)
      生成SQL条件
      参数:
      queryInfos - 请求条件 tableName 表名
      tableName - 数据表名称
      返回:
      Object