程序包 com.sh.javax

类 SQueryDataCenter

java.lang.Object
com.sh.javax.DataCenterBase
com.sh.javax.SQueryDataCenter
所有已实现的接口:
DataCenter

public class SQueryDataCenter extends DataCenterBase

Description: 接口自定义查询,SQuery:Self(SH/Split) Query

Title:首亨软件 - TSS/CRM等

从以下版本开始:
2019年10月17日
  • 构造器详细资料

    • SQueryDataCenter

      public SQueryDataCenter()
      默认构造函数,数据中心直接读取配置文件的信息进行连接
  • 方法详细资料

    • registerLocalSQueryDataCenter

      public static void registerLocalSQueryDataCenter(SQueryDataCenter_I localSdc)
      注册本地实现
      参数:
      localSdc -
    • getCacheDcType

      public String getCacheDcType()
      从接口复制的说明: DataCenter
      获取缓存使用的连接类型
      返回:
      String
    • getDBType

      public String getDBType()
      获取数据类型,需要在设置驱动参数之后调用
      返回:
      String
    • isMainDataCenter

      public boolean isMainDataCenter()
      从接口复制的说明: DataCenter
      是否主数据库连接
      返回:
      boolean
    • isReportDataCenter

      public boolean isReportDataCenter()
      从接口复制的说明: DataCenter
      是否主数据库连接
      返回:
      boolean
    • isExDataCenter

      public boolean isExDataCenter()
      从接口复制的说明: DataCenter
      是否主数据库连接
      返回:
      boolean
    • getDriverName

      public String getDriverName()
    • getJDBCUrl

      public String getJDBCUrl()
    • getJDBCUserId

      public String getJDBCUserId()
    • getJDBCPassword

      public String getJDBCPassword()
    • connect

      public Connection connect()
      连接默认数据库,数据库的配置在connection.cfg中
      返回:
      数据库连接
    • connect

      public Connection connect(String sector)
      连接配置文件中指定的段,这个只对connType=config有效
      参数:
      sector - 段名称
      返回:
      数据库连接
    • getNewConnection

      public Connection getNewConnection()
      获取新的连接,不从连接池中取
      返回:
      Connection
    • setConfig

      public void setConfig(String JDBCDriver, String JDBCConnectionURL, String userID, String password)
      设置数据连接属性
      参数:
      JDBCDriver - String
      JDBCConnectionURL - String
      userID - String
      password - String
    • setConfig

      public void setConfig(String JDBCDriver, String JDBCConnectionURL, String userID, String password, int maxActive, int maxIdle, int maxWait)
      设置数据连接属性
      参数:
      JDBCDriver - String
      JDBCConnectionURL - String
      userID - String
      password - String
      maxActive - 已失效
      maxIdle - 已失效
      maxWait - 已失效
    • setConfig

      public void setConfig(String JDBCConnectionURL)
    • disconnect

      public void disconnect(Connection con)
      断开指定的连接
      参数:
      con - 数据库连接
    • disconnect

      public void disconnect()
      断开默认的数据库连接
    • getSqueryInfo

      public SQueryInfo getSqueryInfo()
    • retrieve

      public Datastore retrieve(Connection con, String sql, boolean cacheFlag)
      从指定的数据中检索数据
      参数:
      con - 数据库连接
      sql - 查询语句
      cacheFlag - 是否使用缓存
      返回:
      Datastore数据集
    • retrieveByParams

      public Datastore retrieveByParams(String sql, Object[] obj, boolean cacheFlag)
      带参数查询数据集
      参数:
      sql - 查询SQL
      obj - 参数值数组
      cacheFlag - 是否使用缓存
      返回:
      查询数据集
    • retrieveByParams

      public Datastore retrieveByParams(String sql, String[] colsType, Object[] obj, boolean cacheFlag)
      通过带参数的条件进行数据查询
      参数:
      sql - 查询SQL
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      cacheFlag - 使用缓存
      返回:
      同上
    • retrieve

      public Datastore retrieve(Connection con, String sql)
      从指定的数据中检索数据 不使用缓存
      参数:
      con - 数据库连接
      sql - 查询语句
      返回:
      Datastore数据集
    • retrieve

      public Datastore retrieve(String sql)
      从默认的数据库中获取数据 默认不使用缓存
      参数:
      sql - SQL
      返回:
      Datastore
    • retrieve

      public Datastore retrieve(String sql, boolean cacheFlag)
      从默认的数据库中获取数据
      参数:
      sql - SQL
      cacheFlag - 是否使用缓存
      返回:
      Datastore
    • retrieveObj

      public Object retrieveObj(String sql, Class queryObj)
      通过对象查找
      参数:
      sql - SQL
      queryObj - 查询对象
      返回:
      Object
    • retrieveObj

      public Object retrieveObj(String sql, Class queryObj, boolean cacheFlag)
      查询对象 不使用缓存
      参数:
      sql - SQL语句
      queryObj - 带注释的PO对象
      cacheFlag - 是否使用缓存
      返回:
      查询对象
    • retrieveObjByParams

      public Object retrieveObjByParams(String sql, String[] colsType, Object[] colsValue, Class queryObj)
      查询对象 不使用缓存
      参数:
      sql - SQL语句
      colsType - 参数类型
      colsValue - 参数值
      queryObj - 带注释的PO对象
      返回:
      查询对象
    • retrieveObjByParams

      public Object retrieveObjByParams(String sql, Object[] colsValue, Class queryObj)
      查询对象
      参数:
      sql - SQL语句
      colsValue - 参数值
      queryObj - 带注释的PO对象
      返回:
      查询对象
    • retrieveObjByParams

      public Object retrieveObjByParams(String sql, String[] colsType, Object[] colsValue, Class queryObj, boolean cacheFlag)
      查询对象
      参数:
      sql - SQL语句
      queryObj - 带注释的PO对象
      cacheFlag - 是否使用缓存
      colsType - String数据,记录参数对应的类型
      colsValue - String数据
      返回:
      查询对象
    • retrieveObjList

      public List retrieveObjList(String sql, Class queryObj)
      不带参数的多数据集查询
      参数:
      sql - SQL
      queryObj - 查询对象
      返回:
      List
    • retrieveObjList

      public List retrieveObjList(String sql, Class queryObj, boolean cacheFlag)
      不带参数的多数据集查询
      参数:
      sql - SQL
      queryObj - 查询对象
      cacheFlag - 是否使用缓存
      返回:
      List
    • retrieveObjList

      public List retrieveObjList(String sql, String[] colsType, Object[] colsValue, Class queryObj)
      查询多个对象的列表数据,不使用缓存
      参数:
      sql - SQL
      colsType - 参数类型
      colsValue - 参数值
      queryObj - 查询对象
      返回:
      List
    • retrieveObjList

      public List retrieveObjList(String sql, Object[] colsValue, Class queryObj)
      查询多个对象的列表数据
      参数:
      sql - 查询SQL
      colsValue - 参数值
      queryObj - 查询对象
      返回:
      queryObj对应的实例集
    • retrieveObjList

      public List retrieveObjList(String sql, String[] colsType, Object[] colsValue, Class queryObj, boolean cacheFlag)
      查询多个对象的列表数据
      参数:
      sql - SQL
      colsType - 参数类型
      colsValue - 参数值
      queryObj - 查询对象
      cacheFlag - 是否使用缓存
      返回:
      List
    • update

      public String[] update(Connection con, String sql, boolean commit)
      修改指定的数据库中的数据
      参数:
      con - 数据库连接
      sql - 更新语句
      commit - 是否提交,true提交,false取消数据更新
      返回:
      string[0] "true"成功;"false"失败 string[1] 影响行数|出错信息
    • update

      public String[] update(String sql)
      执行SQL并提交数据
      参数:
      sql - 修改数据库的语句
      返回:
      同上
    • updateObject

      public String[] updateObject(Object obj, boolean commit, boolean showSql)
      更新表数据
      参数:
      obj - 实例对象
      commit - 是否自动提交事务
      showSql - 是否打印出sql 默认为false
      返回:
      String[]
    • updateObject

      public String[] updateObject(Object obj, boolean commit)
      更新表数据
      参数:
      obj - 实例对象
      commit - 是否自动提交事务
      返回:
      String[]
    • addObject

      public String[] addObject(Object obj, boolean commit, boolean showSql)
      添加表数据
      参数:
      obj - 实例对象
      commit - 是否自动提交事务
      showSql - 是否打印出sql 默认为false
      返回:
      String[]
    • replaceObject

      public String[] replaceObject(Object obj, boolean commit, boolean showSql)
      添加或修改表数据,只有mysql支持
      参数:
      obj - 实例对象
      commit - 是否自动提交事务
      showSql - 是否打印出sql 默认为false
      返回:
      String[]
    • addObject

      public String[] addObject(Object obj, boolean commit)
      添加表数据
      参数:
      obj - 实例对象
      commit - 是否自动提交事务
      返回:
      String[]
    • update

      public String[] update(String sql, boolean commit)
      修改默认的数据库中的数据
      参数:
      sql - 更新语句
      commit - 是否提交,true提交,false取消数据更新
      返回:
      string[0] "true"成功;"false"失败 string[1] 出错信息
    • commit

      public void commit()
      提交事务
    • rollback

      public void rollback()
      事务回滚
    • updateByParams

      public String[] updateByParams(String sql, String[] colsType, Object[][] obj, int start, int end, boolean commit)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      colsType - 参数类型
      obj - 参数值数组,同时更改多条数据
      start - 参数起始位置
      end - 参数结束位置
      commit - 是否提交
      返回:
      同上
    • updateByParams

      public String[] updateByParams(String sql, String[] colsType, Object[] obj)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      colsType - 参数类型
      obj - 参数值数组
      返回:
      同上
    • updateByParams

      public String[] updateByParams(String sql, Object[] obj)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      obj - 参数值数组
      返回:
      string[0] "true"成功;"false"失败 string[1] 影响行数|出错信息
    • updateByParams

      public String[] updateByParams(String sql, String[] colsType, Object[] obj, boolean commit)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      colsType - 参数类型
      obj - 参数值数组
      commit - 是否提交
      返回:
      同上
    • updateByParams

      public String[] updateByParams(String sql, Object[] obj, boolean commit)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      obj - 参数值数组
      commit - 是否提交
      返回:
      string[0] "true"成功;"false"失败 string[1] 影响行数|出错信息
    • updateByParams

      public String[] updateByParams(String sql, String[] colsType, Object[] obj, int start, int end, boolean commit)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      colsType - 参数类型
      obj - 参数值数组
      start - 参数起始位置
      end - 参数结束位置
      commit - 是否提交
      返回:
      同上
    • updateByParams

      public String[] updateByParams(String sql, String[] colsType, Object[][] obj, boolean commit)
      用参数的方式更新数据库
      参数:
      sql - 更改数据库数据的语句
      colsType - 参数类型
      obj - 参数值数组,同时更改多条数据
      commit - 是否提交
      返回:
      同上
    • updateByStoreProc

      public String[] updateByStoreProc(String procName)
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[][] obj, int start, int end, boolean commit)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      start - 参数起始序号
      end - 参数结束序号
      commit - 是否提交
      返回:
      同上
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[] obj)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,一行数据
      返回:
      同上
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[] obj, int[] paramType)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,一行数据,如果为OUT型参数,可以为空或null
      paramType - 参数类型,DataCenter.PROC_PARAM_TYPE_OUT或DataCenter.PROC_PARAM_TYPE_IN
      返回:
      {true,ret1,ret2....}为果[0]为true时,后台参数依次返回指定参数类型的OUT的值 Note:要求colsType/obj/paramType三个数组长度一致
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[] obj, boolean commit)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,一行数据
      commit - 是否提交
      返回:
      同上
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[] obj, int start, int end, boolean commit)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,一行数据
      start - 参数起始序号
      end - 参数结束序号
      commit - 是否提交
      返回:
      同上
    • updateByStoreProc

      public String[] updateByStoreProc(String procName, String[] colsType, Object[][] obj, boolean commit)
      通过存储过程的方式修改数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      commit - 是否提交
      返回:
      同上
    • retrieveByParams

      public Datastore retrieveByParams(String sql, String[] colsType, Object[] obj)
      通过存储过程的方式修改数据
      参数:
      sql - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      返回:
      同上
    • retrieveByParams

      public Datastore retrieveByParams(String sql, Object[] obj)
      带参数查询数据集
      参数:
      sql - 查询SQL
      obj - 参数值数组
      返回:
      查询数据集
    • retrieveByStoreProc

      public Datastore retrieveByStoreProc(String procName)
      通过存储过程的方式检索数据
      参数:
      procName - 存储过程名称
      返回:
      数据集Datastore
    • retrieveByStoreProc

      public Datastore retrieveByStoreProc(String procName, String[] colsType, Object[] obj)
      通过存储过程的方式检索数据
      参数:
      procName - 存储过程名称
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      返回:
      数据集Datastore
    • retrieveListByStoreProc

      public List<Datastore> retrieveListByStoreProc(String procName, String[] colsType, Object[] obj, int[] paramType)
      通过存储过程的方式检索数据,能返回多个游标
      参数:
      procName - 存储过程名称,存储过程需要可以任意定义返回游标
      colsType - 参数类型数组
      obj - 参数值数组,多行数据
      paramType - 输入、输出参数类型、DataCenter.PROC_PARAM_TYPE_IN,DataCenter.PROC_PARAM_TYPE_OUT
      返回:
      多数据集Datastore
    • setAutoCommit

      public void setAutoCommit(boolean commit)
      设置DataCenter是否自动提交
      参数:
      commit - true自动提交,false手工提交
    • setConnType

      @Deprecated public void setConnType(String connType)
      已过时。
      设置获取数据库连接的方式
      参数:
      connType - String strutsPool/config
    • beginBatchUpdateByParams

      public String[] beginBatchUpdateByParams(String sql, String[] colsType)
      开始进行批量更新,目前只针对带参数类型
      参数:
      sql - 执行SQL
      colsType - SQL参数类型
      返回:
      {true|false,操作关键字(后续操作会用到)|错误信息}
    • beginBatchUpdateByParams

      public String[] beginBatchUpdateByParams(String sql, String[] colsType, int refreshCount)
      开始进行批量更新,目前只针对带参数类型
      参数:
      sql - 执行SQL
      colsType - SQL参数类型
      refreshCount - 批量队列到达该值时刷新
      返回:
      {true|false,操作关键字(后续操作会用到)|错误信息}
    • deserialSQueryInfo

      public static SQueryInfo deserialSQueryInfo(String data)
      反序列化参数
      参数:
      data - String
      返回:
      SQueryInfo
    • main

      public static void main(String[] args) throws Exception
      抛出:
      Exception