1. 功能介绍

    数据库操作为通过JDBC方式访问操作数据库数据相关的方法,一般实现在。

  2. 获取数据库时间

    1. String getSysTime();获取数据库当前时间戳(字符串格式)
    2. String getSysDate();获取数据库当前日期(字符串格式)
    3. Timestamp getCurrentTime();获取数据库当前时间戳(Timestamp对象)
    4. 注:和common对象获取的时间不同,dao中获取的是数据库时间,而common获取的是程序所运行在的主机时间获取序列
  3. 获取序列

    1. String getSequence(String sequence);获取SEQUENCE
    2. String getSequenceByEparchy(String sequence);获取根据地州编码和seq名获取SEQUENCE操作数据表
  4. 操作数据表

    1. boolean insert(String tablename, IData data);根据表名和data数据插入一条记录
    2. boolean update(String tablename, IData data);根据表名和data数据修改一条记录,注:根据表主键修改唯一记录
    3. boolean update(String tablename, IData data, String[] keys);根据表名和data数据修改一条记录,注:根据指定的表的列修改唯一记录,适用于无主键情况
    4. boolean update(String tablename, IData data, String[] keys, String[] values);根据表名和data数据修改一条记录,注:根据指定的表的列修改唯一记录,如果values表记录中不能匹配,证明该记录已经修改过了,不能再作修改或者要重新刷新查看能做的操作,这样主要用于避免页面出现重复提交修改的情况
    5. boolean save(String tablename, IData data);根据表名和data数据修改一条记录,注:根据表主键修改唯一记录
    6. boolean save(String tablename, IData data, String[] keys);根据表名和data数据修改一条记录,注:根据指定的表的列修改唯一记录,适用于无主键情况
    7. boolean save(String tablename, IData data, String[] keys, String[] values),注:根据指定的表的列修改唯一记录,类似方法4
    8. boolean delete(String tablename, IData data);根据表名和data数据删除一条记录,注:根据表主键删除唯一记录
    9. boolean delete(String tablename, IData data, String[] keys);根据表名和data数据删除一条记录,注:根据指定的表的列删除唯一记录,适用于无主键情况
    10. boolean delete(String tablename, IData data, String[] keys, String[] values);根据表名和指定列名、列值删除一条记录
    11. IData queryByPk(String tablename, IData data);根据表名和data数据获取一条记录,注:根据表主键获取唯一记录
    12. IData queryByPk(String tablename, IData data, String[] keys);根据表名和data数据获取一条记录,注:根据指定的表的列获取唯一记录,适用于无主键情况
    13. IData queryByPk(String tablename, String[] keys, String[] values);根据表名和指定列名、列值获取一条记录
    14. int executeUpdate(String sql);执行自定义SQL操作数据,不推荐使用
    15. int executeUpdate(String sql, Object[] param);自定义SQL操作数据,绑定数组
    16. int executeUpdate(String sql, IData param);自定义SQL操作数据,绑定IData参数
    17. int executeUpdate(String sql, Parameter param);自定义SQL操作数据,绑定Parameter参数
    18. int[] executeUpdates(String sql);自定义SQL操作数据,不推荐使用(同时执行多个数据库的批量操作)
    19. int[] executeUpdates(String sql, Object[] param);自定义SQL操作数据,绑定数组(同时执行多个数据库的批量操作)
    20. int[] executeUpdates(String sql, Parameter param);自定义SQL操作数据,绑定Parameter参数(同时执行多个数据库的批量操作)
    21. int[] executeUpdates(String sql, IData param);自定义SQL操作数据,绑定IData参数(同时执行多个数据库的批量操作)
  5. 批量操作数据表

    1. int[][] insert(String tablename, IDataset dataset);根据表名和dataset数据集合批量插入记录
    2. int[][] update(String tablename, IDataset dataset);根据表名和dataset数据集合批量修改记录
    3. int[][] update(String tablename, IDataset dataset, String[] keys);根据表名和dataset数据集合批量修改记录,注:根据指定的表的列修改记录,适用于无主键情况
    4. int[][] delete(String tablename, IDataset dataset);根据表名和dataset数据集合批量删除记录
    5. int[][] delete(String tablename, IDataset dataset, String[] keys);根据表名和dataset数据集合批量删除记录,注:根据指定的表的列删除记录,适用于无主键情况
    6. int[] executeBatch(String[] sqls);自定义SQL批量数据操作,直接执行sql,不绑定参数,一般不建议使用该方法
    7. int[] executeBatch(String sql, IDataset params);自定义SQL批量数据操作,通过IDataset绑定参数名匹配
    8. int[] executeBatch(String sql, Parameter[] params);自定义SQL批量数据操作,通过Parameter数组绑定参数名匹配
    9. int[][] executeBatchs(String[] sqls);自定义SQL批量数据操作,直接执行sql,不绑定参数,一般不建议使用该方法(同时执行多个数据库的批量操作)
    10. int[][] executeBatchs(String sql, IDataset params);自定义SQL批量数据操作,通过IDataset绑定参数名匹配(同时执行多个数据库的批量操作)
    11. int[][] executeBatchs(String sql, Parameter[] params);自定义SQL批量数据操作,通过Parameter数组绑定参数名匹配(同时执行多个数据库的批量操作)
  6. 查询数据

    1. IDataset queryList(String);执行sql返回数据集
    2. IDataset queryList(String, Parameter);执行sql并绑定参数值返回数据集
    3. IDataset queryList(String, IData);执行sql并绑定参数值返回数据集
    4. IDataset queryList(String, Parameter, Pagination);执行sql并绑定参数值和分页对象返回数据集
    5. IDataset queryList(String, IData, Pagination);执行sql并绑定参数值和分页对象返回数据集
    6. IDataset queryList(String, Pagination);执行sql并绑定分页返回数据集
    7. IDataset queryList(String, Object[]);执行sql并绑定参数值返回数据集
    8. IDataset queryList(String, Object[], Pagination);执行sql并绑定参数值和分页对象返回数据集
    9. IDataset queryList(SQLParser);执行sql并动态绑定参数值返回数据集
    10. IDataset queryList(SQLParser, Pagination);执行sql并动态绑定参数值和分页对象返回数据集
    11. int getCount (String);执行sql返回数量
    12. int getCount (String, Parameter);执行sql并绑定参数值返回数量
    13. int getCount (String, IData);执行sql并绑定参数值返回数量
    14. 注:如果new Pagination(true),将会分批全量查出所有数据,适合于数据量很大的导出中
  7. 根据CODE_CODE表查询数据(应用设为产品模式时会缓存)

    1. String getSqlByCodeCode(String sqlref);根据sqlref获取CODE_CODE的SQL
    2. String getSqlByCodeCode(String tabname, String sqlref);根据tabname和sqlref获取CODE_CODE的SQL
    3. IDataset queryListByCodeCode(String sqlref, IData param);根据sqlref和参数集查询CODE_CODE数据
    4. IDataset queryListByCodeCode(String daoname, String sqlref, IData param);根据daoname、sqlref和参数集获取CODE_CODE中的SQL后执行SQL查询数据
    5. IDataset queryListByCodeCode(String daoname, String sqlref, IData param, Pagination pagination);根据daoname、sqlref、pagination和参数集获取CODE_CODE中的SQL后执行SQL查询数据,pagination为分页模型
    6. IDataset queryListByCodeCodeParser(String daoname, String sqlref, IData param);根据daoname、sqlref和参数集获取CODE_CODE中的SQL进行动态拼装后执行SQL查询数据,该种方式适用于根据条件动态拼装SQL,类似SQLParser实现的addSQL功能,注:如果要动态拼装SQL,CODE_CODE中的记录的每条动态拼装的SQL需要换行才行(即不能将SQL全部写在一行),如:
      select * from TF_M_STAFF where 1=1
      and staff_id = :VSTAFF_ID
      and STAFF_NAME = :VSTAFF_NAME
    7. IDataset queryListByCodeCodeParser(String daoname, String sqlref, IData param, Pagination pagination);根据daoname、sqlref、pagination和参数集获取CODE_CODE中的SQL进行动态拼装后执行SQL查询数据,pagination为分页模型,使用方法同上
    8. 注:CODE_CODE表中,SQL_STMT为SQL内容,变量绑定方式为":V变量名",如:":VSERIAL_NUMBER",SQL示例如下:
      SELECT a.PRODUCT_ID paracode,a.PRODUCT_NAME paraname
        FROM td_b_product a
       WHERE sysdate BETWEEN a.start_date AND a.end_date
         AND a.brand_code = 'PBAR'
         AND a.PRODUCT_ID = :VPRODUCT_ID
      
  8. 根据TD_S_SQLSTORE表查询数据(应用设为产品模式时会缓存,类似于CODE_CODE表,但绑定变量不需V,如:SERIAL_NUMBER)

    1. String getSqlBySqlStore(String sqlref);根据sqlref获取TD_S_SQLSTORE的SQL
    2. IDataset queryListBySqlStore(String sqlref, IData param);根据sqlref和参数集获取TD_S_SQLSTORE的SQL后执行SQL查询
    3. IDataset queryListBySqlStore(String sqlref, IData param, Pagination pagination);根据sqlref、pagination和参数集获取TD_S_SQLSTORE的SQL后执行SQL查询,pagination为分页模型
    4. IDataset queryListBySqlStoreParser(String sqlref, IData param);根据sqlref和参数集获取TD_S_SQLSTORE的SQL后动态组装SQL并执行查询,该种方式适用于根据条件动态拼装SQL,类似SQLParser实现的addSQL功能,注:如果要动态拼装SQL,TD_S_SQLSTORE中的记录的每条动态拼装的SQL需要换行才行(即不能将SQL全部写在一行),如:
      select * from TF_M_STAFF where 1=1
      and staff_id = :STAFF_ID
      and STAFF_NAME = :STAFF_NAME
    5. IDataset queryListBySqlStoreParser(String sqlref, IData param, Pagination pagination);根据sqlref、pagination和参数集获取TD_S_SQLSTORE的SQL后动态组装SQL并执行查询,pagination为分页模型,使用方法同上
    6. int executeUpdateBySqlstore(String sqlref, IData param);根据sqlref和参数集获取TD_S_SQLSTORE的SQL后执行SQL,一般用于数据更新,包括增、删、改
    7. int[] executeBatchBySqlstore(String sqlref, IDataset params);根据sqlref和参数集获取TD_S_SQLSTORE的SQL后批量执行SQL,一般用于批量数据更新,包括批量增、删、改,params为要更新的多行记录
    8. 注:TD_S_SQLSTORE表中,SQL_STMT为SQL内容,变量绑定方式为":变量名"(不需要带V),如:":SERIAL_NUMBER",SQL示例如下:
      SELECT a.PRODUCT_ID paracode,a.PRODUCT_NAME paraname
        FROM td_b_product a
       WHERE sysdate BETWEEN a.start_date AND a.end_date
         AND a.brand_code = 'PBAR'
         AND a.PRODUCT_ID = :PRODUCT_ID